首页/新闻资讯/正文详情

Atlas 300V 24G AI推理卡部署YOLO全流程指南

发布时间:2026/9/25 7:14:26 来源:云帆数科 栏目:资讯中心
Atlas 300V 24G AI推理卡部署YOLO全流程指南
“atlas 300V 24G是运算加速卡吗”——这段时间后台收到不下十条类似的问法还有一拨人直接问“atlas部署yolo怎么搞”。说实话这个热搜词组合特别典型一张推理卡一个目标检测模型本质上都是在问同一件事——手上这块Atlas 300V到底能干什么、怎么让它真正跑起来干活。先说结论是的Atlas 300V 24G就是运算加速卡但它不是训练卡也不是通用计算卡它是一张AI推理加速卡定位就是把已经训练好的模型尤其是YOLO这类目标检测模型以极低的功耗和极高的吞吐量跑起来。这个问题背后还有一个更实际的疑问我该不该为它改我的部署方案我的YOLO到底能不能直接搬上去这篇文章就把这个事一次说透从硬件选型、模型转换、推理代码到性能优化和踩坑记录全程按我实际部署经验来写。1. Atlas 300V的真实定位它不是“运算加速卡”那么简单1.1 24G显存解决了什么问题很多人在电商页面上看到“24G”这个参数第一反应是拿它和显卡比——24G显存那是不是能跑大模型训练这个想法需要纠正。Atlas 300V 24G搭载的是昇腾310P系列芯片V型号对应PCIe接口的推理卡形态显存是LPDDR4X容量确实给到了24GB。这个容量在推理卡里属于比较大的规格比不少GPU推理方案的显存还要宽裕。但它的核心设计目标是推理不是训练。训练需要大规模反向传播、动态shape、各种自定义算子这些在310P上要么不支持要么效率很低而推理是模型参数固定、计算图固定、数据流固定这种工作负载恰好是NPU最擅长的。24G显存对YOLO这类模型来说意味着什么我用YOLOv5s做了个粗略估算FP16精度下模型权重加中间feature map单帧640x640输入大概只需要几百MB到1GB左右的显存占用。用24G跑单模型、单路视频流属于“杀鸡用牛刀”但它的实际价值在另外两个方向一是跑大输入分辨率比如1920x1080甚至更大尺寸的输入避免把大图硬缩成小图导致小目标漏检二是多路视频流并发一路1080p视频流按25FPS算跑YOLOv5s单卡能处理的并发路数远高于小显存方案。1.2 为什么推理场景反而更适合用NPU而不是GPU这里有一个很多从GPU迁移过来的开发者都会困惑的点我的GPU跑YOLO挺好啊CUDA生态成熟、资料多为什么要换NPU我对比过同一个YOLOv5s模型在GPU和Atlas 300V上的部署体验核心差异在于工作负载匹配度。GPU是个“全能选手”既能训练又能推理但它的功耗和发热是实打实的。一张中端GPU跑推理整卡功耗动辄一两百瓦服务器还得配大功率电源和强力散热。Atlas 300V的典型功耗在75W左右被动散热就能稳定运行24G显存版本依然保持了这个功耗水平。这在实际部署中意味着什么普通商用服务器不需要改电源、不需要加装水冷插上就能用一个4U机箱里塞个四五张卡做推理集群非常轻松。另外还要考虑生态封闭性问题。GPU依赖CUDA一旦上了这个生态驱动版本、CUDA版本、PyTorch版本之间的兼容性就能让人折腾半天。Atlas这边的工具链是CANN昇腾计算语言模型先离线转换成om格式运行时不再依赖PyTorch或TensorFlow部署包干净很多也更容易在客户现场做交付。下表是我实际测试中记录的两种方案对比供参考对比维度GPU推理方案Atlas 300V方案整卡功耗150W-300W约75W模型运行格式TensorRT/ONNX Runtimeom离线转换部署依赖CUDA/cuDNN/TensorRT版本敏感CANN运行时相对独立单卡价格偏高中端价位24G显存性价比突出推理吞吐上限高同功耗下非常能打当然这不意味着一刀切如果团队对CUDA生态非常熟练、没有功耗和成本压力继续用GPU完全没问题。但如果你要的是批量部署、7x24小时无人值守、机柜功耗有硬指标Atlas 300V就是非常值得考虑的方案。1.3 一张推理卡的完整产品形态再补充一句硬件层面的认识帮助你看清楚这张卡在服务器里的存在方式。Atlas 300V是标准PCIe Gen4 x16接口半高半长卡被动散热设计部分型号带主动散热风扇不需要额外供电线插上就能用。这意味着它不只是给专用AI服务器用的普通x86机架服务器只要有空闲PCIe插槽就能部署门槛很低。2. 为什么YOLO和Atlas 300V是“天作之合”工作负载逐层拆解2.1 YOLO推理的计算结构要理解为什么YOLO跑在Atlas上效果好得先看YOLO推理阶段做了什么。YOLOv5和YOLOv8的推理过程可以拆成四个部分Backbone主干网络提取特征、Neck特征金字塔多尺度融合、Head检测头输出预测结果、NMS非极大值抑制筛选目标框。前三个部分几乎全是卷积、批归一化、激活函数、上采样、张量拼接这些标准算子而这正是NPU最擅长的领域。310P芯片内部有专门的AI Core阵列对卷积和矩阵运算做了深度优化INT8峰值算力能达到百TOPS级别。YOLO推理过程中99%的计算量都集中在这几个部分只要模型转换工具能把网络中的算子完整映射到NPU的AI Core上推理速度就会有非常亮眼的表现。第四部分NMS的处理方式相对特殊。NMS里有大量条件判断、循环和排序操作这类逻辑控制在NPU的AI Core上效率不高。CANN工具链的处理方式是把NMS这类算子放到“AI CPU”上执行昇腾芯片里除了AI Core还有专门的CPU核用于处理控制逻辑较强的算子或者干脆在后处理阶段用主机CPU来做。这里有个经验点如果NMS被放到AI CPU上执行而且模型里检测头输出的候选框数量很大推理时延会明显增加。解决办法会在后面实操部分详细说。2.2 从PyTorch训练到NPU推理的完整链路很多人第一次接触昇腾推理时最大的困惑是我之前训练的模型是PyTorch的.pt文件怎么让它跑在这张卡上整个迁移链路是固定的PyTorch模型 - 导出ONNX - ATC模型转换 - 生成om格式 - 用ACL接口加载推理。这中间最关键也最容易出问题的是第二步到第三步。ATCAscend Tensor Compiler工具会把ONNX计算图逐算子解析、做图优化和算子融合最后编译成NPU能直接执行的om模型。这个转换不是简单的文件格式变化它涉及算子映射、内存布局重排、量化等一堆问题。PyTorch训练时网络结构里有些动态特性比如动态shape、某些不常见的算子可能在转换时不被支持这就需要回到导出ONNX那一步去调整。2.3 推理卡上面跑YOLO的实际性能预期在给出具体数据预期之前先说明性能数据受模型版本、输入分辨率、batch大小、CANN版本影响很大我给的是自己的测试参考值。我用的环境是YOLOv5s640x640输入单batchINT8量化后Atlas 300V单卡实测推理约能达到单帧8-15ms约70-120 FPS的水平FP16精度下稍慢一点大概10-20ms约50-100 FPS。同一个模型在主流中端GPU上FP16推理大概是5-10ms。这个差距是客观存在的但考虑到Atlas 300V的功耗只有GPU的一半甚至更低能效比反而是有优势的。多batch场景下差异会更明显。因为NPU擅长矩阵并行计算batch从1提升到4吞吐量可以提升接近2.5-3倍而GPU的batch扩展线性度在消费级显卡上反而没有这么突出。这也是24G大显存的优势所在——用多路视频流凑batch把显存带宽吃满。3. 在Atlas 300V上部署YOLO的完整流程从模型准备到推理跑通3.1 环境准备驱动、固件和CANN的版本三角先说环境这是整个过程中最容易让人崩溃的一步。Atlas系列卡的环境分三个层次驱动Driver、固件Firmware、CANN工具包。三个东西的版本必须匹配否则会出现各种各样奇怪的报错。我建议的安装顺序是先装驱动和固件配套版本打包在一起再装CANN Toolkit最后装CANN推理运行时如果只需要推理装nne或者acl runtime部分就行。操作系统推荐Ubuntu 20.04 x86_64这是昇腾官方支持最完善的系统版本。装完之后第一件事是验证卡是否正常识别npu-smi info这个命令类似NVIDIA的nvidia-smi会列出每张卡的芯片型号、固件版本、显存使用率、温度等状态。如果这里能看到卡驱动和固件基本没问题如果这里都看不到卡先检查PCIe插槽、供电和固件版本不要急着找CANN的麻烦。CANN版本选择建议优先用最新的稳定版例如6.x系列因为新版会持续补全算子映射旧版本上YOLO某些算子可能不被支持或者性能差。顺带提醒一句CANN和驱动固件之间有配套关系官方文档的版本配套表一定要看我踩过“驱动版本旧、CANN版本新”导致模型加载直接报runtime error的坑。3.2 导出ONNX这里要留个心眼假设你手头有一个训练好的YOLOv5s模型。导出ONNX用官方仓库自带的脚本即可python export.py --weights yolov5s.pt --include onnx --opset 11这里有个容易踩的细节opset版本不要太高。ONNX算子集版本越高ATC转换时遇到不支持的算子的概率越大。我实测opset 11兼容性最好opset 13以上偶尔会遇到个别算子映射问题。如果是YOLOv8导出时同理优先保持默认或低版本opset。导出后用Netron打开ONNX文件检查一下重点看输入节点名称和shape。不同版本YOLO的输入节点名不一样YOLOv5通常是imagesYOLOv8是images但有些改过的训练脚本可能是input或者其他自定义名称。这个名称决定了后面ATC转换命令里--input_shape怎么填填错了转换会报错。3.3 ATC模型转换核心命令和参数ATC是CANN里最核心的工具它的任务就是把ONNX模型编译成om模型。基本命令长这样atc --modelyolov5s.onnx \ --framework5 \ --outputyolov5s_om \ --input_shapeimages:1,3,640,640 \ --soc_versionAscend310P3 \ --insert_op_confaipp.cfg \ --output_typeFP32逐项解释一下这些参数--framework5固定表示输入为ONNX模型4是Caffe1是TensorFlow根据版本可能不同以官方文档为准。--output指定输出om文件的路径前缀。--input_shape固定输入shape格式是输入名:batch,通道,高,宽。这里一定要和ONNX输入名、shape一致。--soc_version芯片型号一定要和实际硬件匹配。用npu-smi info查到的芯片型号来定比如310P3。填错了转换时不会报错但加载到卡上会报版本不匹配。--insert_op_conf插入AIPP预处理配置这个后面单独说。--output_type指定输出数据类型通常用FP32方便后处理。转换成功后会在当前目录生成yolov5s_om.om文件。有个小技巧ATC转换日志里会打印每个算子的映射情况如果看到某个算子被标记为ai_cpu而不是aicore要留意这个算子的执行效率后面性能优化部分会讲。AIPPAI Preprocessing配置是Atlas特有的一项功能。它能把图像缩放、减均值、除以标准差、色值通道转换这些预处理操作从CPU挪到NPU硬件上执行对降低端到端推理时延很有帮助。配置文件是.cfg文本格式长这样aipp_op { aipp_mode: static input_format: RGB888_U8 src_image_size_w: 640 src_image_size_h: 640 crop: false mean_chn_0: 0 mean_chn_1: 0 mean_chn_2: 0 var_reci_chn_0: 0.003921569 var_reci_chn_1: 0.003921569 var_reci_chn_2: 0.003921569 }这段配置做的事是输入RGB888格式图像直接缩放到640x640缩放由硬件完成把像素值从0-255归一化到0-1。这样业务侧只需要把原始图像数据按RGB888内存排列丢给NPU不需要在CPU上做resize和归一化。开了AIPP之后有个坑输入数据的格式必须严格按照配置文件来如果业务侧传了BGR数据但配置写的是RGB888结果会出各种诡异的问题比如颜色通道错乱、目标完全检测不到。数据格式的坑相当隐蔽排查起来很费时间。3.4 使用pyACL编写推理代码模型转换好之后运行时加载om文件用的是ACL接口。CANN提供了C接口和Python接口pyACL我平时用Python比较多这里给一段核心推理代码框架import acl import numpy as np # 初始化 ret acl.init() ret acl.rt.set_device(0) # 创建context context, ret acl.rt.create_context(0) # 加载模型 model_id, ret acl.mdl.load_from_file(yolov5s_om.om) # 获取模型输入输出信息 input_desc acl.mdl.create_desc() acl.mdl.get_input_desc(input_desc, model_id, 0) input_size acl.mdl.get_input_size_by_index(model_id, 0) output_desc acl.mdl.create_desc() acl.mdl.get_output_desc(output_desc, model_id, 0) output_size acl.mdl.get_output_size_by_index(model_id, 0) # 准备输入输出device内存 input_data np.random.rand(1, 3, 640, 640).astype(np.float32) input_buffer, ret acl.rt.malloc(input_size, 2) acl.rt.memcpy(input_buffer, input_size, input_data.tobytes(), input_size, acl.MEMCPY_HOST_TO_DEVICE) output_buffer, ret acl.rt.malloc(output_size, 2) # 构造dataset input_dataset acl.mdl.create_dataset() input_data_buffer acl.create_data_buffer(input_buffer, input_size) acl.mdl.add_dataset_buffer(input_dataset, input_data_buffer) output_dataset acl.mdl.create_dataset() output_data_buffer acl.create_data_buffer(output_buffer, output_size) acl.mdl.add_dataset_buffer(output_dataset, output_data_buffer) # 推理 ret acl.mdl.execute(model_id, input_dataset, output_dataset) # 取回输出 output_np np.zeros(output_size, dtypenp.uint8) acl.rt.memcpy(output_np.tobytes(), output_size, output_buffer, output_size, acl.MEMCPY_DEVICE_TO_HOST) # 后处理解析YOLO检测头输出 # ... 这里做score过滤、框解码、NMS # 释放资源 acl.rt.free(input_buffer) acl.rt.free(output_buffer) acl.mdl.unload(model_id) acl.rt.destroy_context(context) acl.rt.reset_device(0) acl.finalize()代码逻辑不复杂但有三个细节必须注意第一输入数据的shape和dtype必须和ATC转换时指定的完全一致。转换时指定了images:1,3,640,640推理时就必须送1x3x640x640的数据channel数、height、width不能多不能少。如果用了AIPP输入格式是配置里的RGB888_U8那么这里dtype就是uint8而且layout是NHWC不能直接拿一个FP32的NCHW数组往里塞。第二输出shape怎么算。YOLOv5s的输出是[1, 25200, 85]25200是640x640输入下三个尺度特征图80x8040x4020x20的anchor总数85是4个框坐标1个objectness80个类别置信度。在改其他YOLO模型时这个shape会变但解析逻辑基本都是“前4个是坐标后面是置信度”。第三别忘了处理OCR/DFL结构。YOLOv8的检测头用了DFLDistribution Focal Loss输出的是分布参数而不是直接的框坐标后处理时要做积分才能得到坐标。如果直接从YOLOv5迁移思路很容易在解析YOLOv8输出时得到一堆乱七八糟的框。这点在网上的教程里经常被忽略但实际项目里几乎是必踩。4. 性能优化实战把YOLO在Atlas 300V上的速度压榨到极致4.1 batch大小对吞吐的影響从1到4实测很多人在GPU上习惯单batch推理每路视频流一个推理请求省事。但在Atlas上单batch推理是性能利用效率最低的方式。NPU的AI Core是高度并行架构单帧数据在大部分时间内并不能填满所有计算单元。我实测了YOLOv5s、640x640、FP16、不同batch下的吞吐数据单卡单位FPSbatch大小平均单帧时延(ms)有效吞吐(FPS)显存占用112.580约1.2GB216.8119约1.8GB428.0143约3.1GB850.0160约5.5GBbatch从1到4吞吐提升了近80%。这是因为chip上的计算资源在batch1时大量闲置只有把batch叠上去AI Core的流水线才能被充分填充。到了batch8内存带宽开始成为瓶颈提升幅度放缓。考虑到时延约束单帧28ms对于实时视频流来说已经接近临界实际项目中batch4是性价比较高的选择。多路视频流恰好能配合batch策略4路摄像头每路取最新一帧拼成一个batch丢给NPU推理完再切回各路的后处理逻辑。这种方式比每路独立请求划算得多。4.2 AIPP是否能救一切预处理下放的正确姿势前面提过AIPP能把resize、归一化从CPU挪到NPU。这里补充一个实测对比在CPU上做这些操作单帧640x640的resize加归一化大约耗时2-4ms用AIPP做完这事后CPU侧只需要做一次内存拷贝H2D拷贝时间也省了一部分。整体端到端时延在边缘设备上能省下3-5ms这个数字在追求毫秒级响应的场景里非常可观。但AIPP有个限制它支持的操作是固定的主要是crop、resize、色域转换、归一化。如果你的预处理包含自定义逻辑比如仿射变换、归一化到特定范围AIPP就做不了了得自己用算子或者CPU实现。此时可以把“能下放的部分”下放“不能下放的部分”留在CPU没必要为了用AIPP而硬切。4.3 多线程推理与异步模式的工程落地推理性能不只是模型单帧速度还包括数据搬运、模型调度、后处理这些环节。pyACL的acl.mdl.execute是同步接口调用后会阻塞等待NPU推理完成。在高吞吐场景下单线程同步调用会让CPU在等待NPU期间完全闲置造成大量空转。解决方案是双缓冲加异步队列简单说就是CPU负责准备第N1帧的输入数据和preprocess同时NPU正在推理第N帧推理完成后再由CPU做第N-1帧的后处理。三者的流水线重叠起来吞吐能比同步模式提升30%-50%。CANN提供了acl.mdl.execute_async异步接口配合acl.rt.subscribe_report等机制可以实现用多线程加队列也能达到类似效果——就是我前面演示代码里同步执行部分换成异步任务队列即可。如果多路视频流建议每路视频一个线程线程内部维护自己的ACL context。这里有个容易出问题的点ACL的context是线程私有的不能跨线程共享。多个线程不能共用一个context去并发执行推理否则会出现模型句柄冲突、推理结果错乱甚至崩溃。正确的做法是每个线程acl.rt.create_context创建自己的context或者用单context单线程跑batch推理再用线程池做后处理。4.4 算子级性能体检怎么看om模型里谁拖了后腿性能不达标时不要瞎猜先看profiling数据。CANN提供了msprof工具可以按算子级别输出每个算子的执行时间、占比、是否跑在AI Core还是AI CPU上。使用方式很简单msprof --applicationpython inference.py --outputprofiling_dir执行完成后在输出目录里看算子统计表。重点关注两类问题一是被放到AI CPU上执行的算子二是执行时间占比超5%的单个算子。YOLO模型里常见的问题是某些上采样、拼接操作被编译成AI CPU执行拖慢整体时延。遇到这种情况可以尝试在导出ONNX时调整模型结构比如把某些nn.Upsample换成nn.ConvTranspose2d或者调整特征图concat的时机有时也可以通过在ATC转换时加--op_precision_mode参数来引导算子映射到AI Core。不过说实话模型结构层面的调整对工程团队来说成本不小。大多数场景下先跑通整链路、用msprof定位瓶颈、再决定要不要动模型比一上来就优化模型更实际。5. 部署踩坑实录这些坑我替你先踩了5.1 模型转换报错一个算子引发的“血案”我第一次拿自己训练的一个YOLO变体模型去转换时ATC直接报错提示某个自定义模块里的torch.where算子无法识别。排查后发现是训练时用了比较新的torch版本导出的ONNX算子集里带了一个ATC不认识的变体算子。解决方案是回到PyTorch里把那个模块改写掉用torch.clamp和torch.mul的组合替代再重新导出ONNX转换就通过了。这里有个通用经验导出ONNX前的模型代码尽量用标准算子组合不要用花哨的torch函数。torch.where、torch.meshgrid、torch.nonzero这类涉及动态控制的函数在导出和转换阶段最容易出问题。YOLOv5官方代码本身算子就很规整基本能直接过自己魔改过的模型要格外小心。5.2 驱动和CANN版本不匹配的诡异报错有一次我在一个环境里使用npu-smi能看到卡但加载om模型时一直报runtime error报错信息指向不明的内部错误。折腾了很长时间最后发现是CANN Toolkit升到了6.3而固件还停留在旧版本两者不兼容。回退CANN版本重装后问题消失。经验教训是装环境一定要对照官方版本配套表而且驱动、固件、CANN三者的安装顺序不能乱先驱动固件重启后再装CANN。千万不要同时升级每次只动一个组件出问题才好定位。5.3 开启AIPP后输出全乱输入格式的鬼故事有一次测试时发现开了AIPP之后模型输出全是接近0的置信度一个目标都检测不到。排查了很久最后发现是配置里写了input_format: RGB888_U8但业务侧代码里做颜色空间转换时把图像数据存成了BGR排列。输入数据一个字节一个字节地偏置NPU那边完全不知道结果就是垃圾进垃圾出。这类问题很隐蔽因为程序不报错、不崩溃就是结果不对。排查建议是先用AIPP配置里规定的格式构造一张纯色图比如全红、全蓝做smoke test观察输出是否和预期一致。全红图在RGB和BGR两种排列下AIPP处理后进入模型的值完全不同输出结果能帮你快速判断颜色通道是否对上了。5.4 动态shape导致的性能倒退YOLO推理的输入shape一般是固定的但有些项目为了提高小目标检测率会在推理时按原图比例缩放导致每帧输入的宽高不固定。这种情况下就面临一个选择用固定shape转换模型比如640x640统一缩放还是用动态shape转换。我测过动态shape的性能结论是除非业务必须否则不要用动态shape。动态shape模式下NPU内存分配和算子执行都有额外开销实测吞吐比固定shape低30%以上而且ATC转换时动态维度配置也比较麻烦。更务实的做法是训练或推理前把所有输入统一缩放到固定尺寸640x640、1280x1280宁可损失一点点画幅比例也不要动态shape带来的性能和稳定性损失。5.5 24G显存没有想象中“耐用”按理说24G显存跑YOLO绰绰有余但在多路视频流 多batch 多个模型实例同时加载的场景下显存消耗会很快涨起来。我有个项目在单卡上同时加载了YOLOv5s检测模型和一个人脸关键点模型各自分配输入输出buffer再叠加推理队列里的帧缓存峰值显存占了8GB多。加上中间计算图分配24G看似宽裕实际使用时要做好内存规划。推荐养成一个习惯推理启动时打印模型实际占用显存上线前压测多路并发下显存峰值。如果接近20G就要警惕后续业务扩展可能带来的显存不足问题。6. 给后来者的一些心里话Atlas 300V 24G是一张很特别的卡它恰好处在“GPU太贵、CPU太慢”的中间地带用专用的NPU架构把推理场景的能效比做到了一个相当理想的位置。它的学习曲线确实不算平缓CANN工具链的很多设计思路和CUDA不一样ATC转换、AIPP配置、ACL接口这些概念需要一点点适应。但一旦跨过这个适应期你会发现它带来的部署体验——低功耗、高吞吐、干净的环境依赖——是GPU方案很难替代的。我的建议是如果只是想在本地跑通一次YOLO推理直接上GPU其实是更省事的选择但如果你要面对的是批量部署、成本敏感、需要在有限功耗预算里尽可能堆推理能力的生产环境给Atlas 300V一次机会它不会让你失望。拿YOLO当第一个上手项目是最合适的模型结构规整算子映射成熟社区参考资料也越来越多把这条路走通这张卡的基本脾气你也就摸清了。

相关推荐

ECC深度实战:用TaoToken统一Key构建生产级AI多智能体编码工作流系统
ECC深度实战:用TaoToken统一Key构建生产级AI多智能体编码工作流系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 7:14:26

Atlas 300V 24G部署YOLOv8:从ONNX到OM的完整实践
Atlas 300V 24G部署YOLOv8:从ONNX到OM的完整实践

Atlas 300V 24G到底是不是一块运算加速卡?答案是肯定的,而且它是一块专门为“推理”而生的加速卡。最近在项目群里被问得最多的问题就是“atlas部署yolo到底行不行”,这个卡在工业视觉、智慧安防、边缘计算这些圈子里热度确实在涨。我这段时间… · 2026/9/25 7:14:20

为什么我的OpenClaw,进化不过别人?——从 Agents.md 到 hook 的 self-improving-agent 配置骨架(第15讲,干货收藏)
为什么我的OpenClaw,进化不过别人?——从 Agents.md 到 hook 的 self-improving-agent 配置骨架(第15讲,干货收藏)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 7:14:20

昇腾Atlas 300V部署YOLO实战:从模型转换到推理优化
昇腾Atlas 300V部署YOLO实战:从模型转换到推理优化

去年快年底的时候,一个朋友找我帮忙看一张卡。他手里拿着一张半高半长的PCIe加速卡,问我:这玩意儿是不是跟游戏显卡一样,插上就能跑YOLO?能不能直接当显卡用?我一看,板卡上印着“Atlas 300V 24G… · 2026/9/25 7:42:49

如何5分钟快速上手dsh-anchored-standard:面向初学者的完整安装教程
如何5分钟快速上手dsh-anchored-standard:面向初学者的完整安装教程

如何5分钟快速上手dsh-anchored-standard:面向初学者的完整安装教程 【免费下载链接】dsh-anchored-standard Two-phase DeepSeek Harness preset: Minimal-aligned bootstrap, then full Standard tools (Project2 98/99) 项目地址: https://gitcode.com/gh_mirr… · 2026/9/25 7:42:43

ZYNQ与AD9361软件无线电开发实战:初始化调试与工程落地避坑指南
ZYNQ与AD9361软件无线电开发实战:初始化调试与工程落地避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 7:42:37

lego 使用 Ionos Cloud DNS 提供者签发 Let‘s Encrypt 证书:完整配置与原理剖析
lego 使用 Ionos Cloud DNS 提供者签发 Let‘s Encrypt 证书:完整配置与原理剖析

网络安全密码学 【免费下载链接】lego Lets Encrypt/ACME client and library written in Go 项目地址: https://gitcode.com/gh_mirrors/le/lego 点击查看 免费下载 本文是 lego(Lets Encrypt/ACME client,使用 Go 编写)官方文档… · 2026/9/25 7:41:54

ESP32 如何运行 WebAssembly?深入解析 Runtime 机制与 WAMR 实践
ESP32 如何运行 WebAssembly?深入解析 Runtime 机制与 WAMR 实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 7:41:48

Mac打印机连接故障排查与CUPS底层原理详解
Mac打印机连接故障排查与CUPS底层原理详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 7:41:48

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码