1. 在电脑/服务器导出 ONNX进入你的环境conda activate supervisions cd E:\vision_code\supervision_code\yolo\code安装依赖pip install -U ultralytics onnx onnxslim导出yolo8:yolo export modelyolov8s.pt formatonnx imgsz640 batch1 dynamicFalse opset11 simplifyTrue nmsFalseyolo26:yolo export modelE:\vision_code\yolo\best.pt formatonnx imgsz640 batch1 dynamicFalse opset11 simplifyTrue nmsFalse参数说明参数含义为什么这么设置modelyolov8s.pt输入模型权重yolov8s 精度和速度平衡适合边缘设备formatonnx导出 ONNX昇腾 ATC 支持 ONNX 转 OMimgsz640输入尺寸 640x640YOLO 常用尺寸速度和精度平衡batch1一次推理 1 张图310B 边缘实时检测通常逐帧处理省内存dynamicFalse固定输入 shapeATC 转换更稳定OM 推理速度更稳opset11ONNX 算子版本 11对昇腾 CANN/ATC 兼容性较好simplifyTrue简化 ONNX 图减少冗余节点降低转换失败概率nmsFalse不把 NMS 放进模型避免 NMS 算子转换问题后处理在代码里做导出后得到yolov8s.onnx2. 验证 ONNXyolo predict taskdetect modelyolov8s.onnx sourcehttps://ultralytics.com/images/bus.jpg imgsz640如果生成检测图片说明 ONNX 可用。查看输入名python -c import onnx; monnx.load(yolov8s.onnx); [print(i.name) for i in m.graph.input]一般输出images3. 上传 ONNX 到 310Bscp E:\vision_code\supervision_code\yolo\code\yolov8s.onnx root板子IP:/data/model/板子上进入目录cd /data/model ls确认有yolov8s.onnx4. 在 310B 加载 CANN 环境source /usr/local/Ascend/ascend-toolkit/set_env.sh激活虚拟环境5. 用 ATC 转 OM虚拟环境atc --model./best.onnx --framework5 --output./yolov26s_bs1 --input_formatNCHW --input_shapeimages:1,3,640,640 --soc_versionAscend310B4参数说明参数含义为什么这么设置--modelyolov8s.onnx输入 ONNX 模型上一步导出的模型--framework5模型框架类型是 ONNXATC 规定ONNX 对应 5--outputyolov8s_bs1输出文件名前缀会生成 yolov8s_bs1.om--input_formatNCHW输入格式YOLO 导出的输入是 batch,channel,height,width--input_shapeimages:1,3,640,640固定输入节点和尺寸与 ONNX 导出 shape 保持一致--soc_versionAscend310B4目标芯片型号Atlas 200I DK A2 / 310B 文档常用这个input_shape 展开值含义imagesONNX 输入节点名1batch size3RGB 三通道640输入高度640输入宽度成功后生成yolov8s_bs1.om6. 后续推理流程因为你导出时用了nmsFalse所以 OM 输出不是最终框而是候选框1,84,8400后续代码需要做原图 - letterbox resize 到 640x640 - BGR/RGB 转换 - 归一化 /255 - HWC 转 CHW - OM 推理 - 解析输出 1x84x8400 - 置信度过滤 - NMS - 坐标映射回原图 - 得到最终检测框最终推荐命令汇总电脑上yolo export modelyolov8s.pt formatonnx imgsz640 batch1 dynamicFalse opset11 simplifyTrue nmsFalse板子上source /usr/local/Ascend/ascend-toolkit/set_env.sh atc \ --modelyolov8s.onnx \ --framework5 \ --outputyolov8s_bs1 \ --input_formatNCHW \ --input_shapeimages:1,3,640,640 \ --soc_versionAscend310B4一句话总结固定 batch、固定输入、不带 NMS是为了让 ONNX 图更简单ATC 转 OM 更稳定310B 推理更可控。