引言:

     Ultralytics YOLOv8 的导出模式提供了多种选项,用于将训练好的模型导出到不同的格式,可以在不同平台设备上部署

使用示例

     将yolov8x.pt导出为ONNX格式

from ultralytics import YOLO
model = YOLO('yolov8x.pt') 
model.export(format='onnx')

export参数详解

Argument Type Default Description
format str ‘torchscript’ 导出模型的目标格式,例如 ‘onnx’、‘torchscript’、‘tensorflow’ 或其他格式,用于定义与各种部署环境的兼容性
imgsz int or tuple 640 模型输入的期望图像大小。可以是整数,或者用于特定尺寸的元组(高度,宽度)
keras bool False 启用导出为Keras格式的TensorFlow SavedModel,提供与TensorFlow服务和API的兼容性
optimize bool False 在导出到TorchScript时应用移动设备优化,可能会减少模型大小并提高性能
half bool False 启用FP16(半精度)量化,减少模型大小,并可能在支持的硬件上加速推理
int8 bool False 启用INT8量化,进一步压缩模型并加速推理,精度损失最小,主要适用于边缘设备
dynamic bool False 允许 ONNX 和 TensorRT 导出支持动态输入尺寸,提高处理不同图像尺寸的灵活性
simplify bool False 通过 onnxslim 简化 ONNX 导出的模型图,可能提高性能和兼容性
opset int None 指定 ONNX opset 版本,以确保与不同的 ONNX 解析器和运行时兼容。如果未设置,将使用最新支持的版本
workspace float 4.0 设置 TensorRT 优化的最大工作空间大小(以 GiB 为单位),以平衡内存使用和性能
nms bool False 为 CoreML 导出添加非极大值抑制(NMS),这是准确和高效检测后处理的关键
batch int 1 指定导出模型的批量推理大小或在预测模式下导出模型将同时处理的最大图像数量

export format 参数详解

以下是 YOLOv8 支持的导出格式。可以通过 format 参数将模型导出为任何格式,例如 format=‘onnx’ 或 format=‘engine’。导出的模型可以直接用于预测或验证,例如使用 yolo predict model=yolov8n.onnx。

Format format Argument Model Metadata Arguments
PyTorch - yolov8n.pt -
TorchScript torchscript yolov8n.torchscript imgsz, optimize, batch
ONNX onnx yolov8n.onnx imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolov8n_openvino_model/ imgsz, half, int8, batch
TensorRT engine yolov8n.engine imgsz, half, dynamic, simplify, workspace, int8, batch
CoreML coreml yolov8n.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolov8n_saved_model/ imgsz, keras, int8, batch
TF GraphDef pb yolov8n.pb imgsz, batch
TF Lite tflite yolov8n.tflite imgsz, half, int8, batch
TF Edge TPU edgetpu yolov8n_edgetpu.tflite imgsz
TF.js tfjs yolov8n_web_model/ imgsz, half, int8, batch
PaddlePaddle paddle yolov8n_paddle_model/ imgsz, batch
NCNN ncnn yolov8n_ncnn_model/ imgsz, half, batch

本文参考:
https://docs.ultralytics.com/modes/export/#arguments

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐