SuperAPI AI 工具集

yolo-export

部署与运维

查看项目

更新于 10-16 01:07

技能介绍

用途:把训练好的 Ultralytics YOLO 模型导出到目标硬件格式,用于部署与推理加速,并验证导出后的精度。

两种使用方式:一是在 Platform 打开已完成模型的 Export 标签,选格式、配置参数、点击 Start Export;CPU 导出直接运行,TensorRT 等需选目标 GPU,完成后下载产物。TensorRT 引擎不跨 GPU/TRT 版本,应选部署设备的 GPU 家族或 Jetson 目标,版本不一致时改在本地设备导出。二是在代码/命令行导出:

from ultralytics import YOLO model = YOLO("runs/detect/train/weights/best.pt") path = model.export(format="onnx") yolo export model=best.pt format=onnx

导出产物可直接再加载回 YOLO() 做 predict/val:YOLO("best.onnx")。

格式选择:NVIDIA GPU/Jetson 用 engine(TensorRT,需在部署设备构建);Intel 用 openvino;Apple 用 coreml,iOS 27+/macOS 27+ 可用 coreai;Android 用 litert 或 ncnn;树莓派用 ncnn;跨平台可用 onnx;NPU 用 rknn/qnn/hailo/ascend/imx/axelera/deepx/xilinx。完整 22 个目标见 format-matrix.md。

关键参数:imgsz(默认继承模型,建议显式设为部署尺寸)、quantize(16/8/w8a8/w8a16/w8a32/32)、data(校准数据,建议 300 张以上,TensorRT 500+)、dynamic、batch、simplify、opset、nms、workspace、device、fraction。部分参数存在废弃名自动映射(half→quantize=16、end2end=True→nms=False、tflite→litert 等)。

导出后务必做精度对齐:分别用 yolo val 对 .pt 与导出模型跑同一任务指标比较;差异可接受范围取决于任务、后端、精度与校准数据。可用 yolo benchmark 对全部格式测任务指标与延迟,并在部署硬件上重复测试。

在非 Python 运行时(C++、移动端、JS)需自行实现 letterbox、BGR→RGB、/255 等预处理与输出解码。默认 nms=None 输出原始头,需要外部 NMS;nms=False 在 YOLO26/YOLOv10 输出 NMS-free 的 [max_det, 6] 行;类别名随元数据导出,不支持时需自行附带。

限制:TensorRT 引擎与设备及版本绑定;ONNX opset 不兼容需降低或升级运行时;构建 OOM 可降 workspace、batch=1、dynamic=False;CoreML 需在 macOS/Linux 导出,不支持 Windows;Core AI 需 macOS 26+ Apple silicon 或 x86_64 Linux、torch>=2.8、Python 3.11–3.14;Hailo、Ascend 等需先装厂商 SDK。若参数被拒绝,以错误信息与 yolo cfg 为准。其余收费、平台细节资料未提供。