在项目开发中,经常需要将训练好的YOLO模型转换成一个适用于Web环境的格式——ONNX(Open Neural Network Exchange)格式
导出方式
参考官方文档,给出了两种导出形式:
Python
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n.pt") # load an official model
# model = YOLO('path/to/best.pt') # load a custom trained model
# Export the model
model.export(
format="onnx", dynamic=True
) # export to ONNX (for deployment to C++, Android, iOS, etc.)
CLI
yolo export model=yolov8n.pt format=onnx # export official model
yolo export model=path/to/best.pt format=onnx # export custom trained model
参数
该表详细说明了可用于将YOLO模型导出为不同格式的配置和选项。这些设置对于优化导出模型的性能、大小和跨各种平台和环境的兼容性至关重要。正确的配置确保模型可以以最佳效率部署到预期的应用程序中。
Argument | Type | Default | Description |
---|---|---|---|
format | str | 'torchscript' | 导出模型的目标格式,例如“onnx”、“torchscript”、“tensorflow”或其他格式,定义与各种部署环境的兼容性。 |
imgsz | int or tuple | 640 | 模型输入所需的图像大小。正方形图像可以是整数,特定尺寸可以是元组(height, width) 。 |
keras | bool | False | 能够导出到Keras格式的TensorFlow SavedModel,提供了一种服务和api的兼容性。 |
optimize | bool | False | 在导出到TorchScript时对移动设备进行优化,可能会减少模型大小并提高性能。 |
half | bool | False | 实现FP16(半精度)量化,减少模型大小,并可能加快支持的硬件上的推理。 |
int8 | bool | False | 激活INT8量化,进一步压缩模型并以最小的精度损失加快推理,主要用于边缘设备。 |
dynamic | bool | False | 允许ONNX和TensorRT导出的动态输入大小,增强了处理不同图像尺寸的灵活性。 |
simplify | bool | False | 简化了ONNX导出的模型图,可能会提高性能和兼容性。 |
opset | int | None | 指定ONNX opset版本,以兼容不同的ONNX解析器和运行时。如果没有设置,则使用支持的最新版本。 |
workspace | float | 4.0 | 设置以GB为单位的最大工作空间大小,用于TensorRT优化,平衡内存使用和性能。 |
nms | bool | False | 在CoreML导出中添加了非极大值抑制(NMS),这对于准确和高效的检测后处理至关重要。 |
通过调整这些参数,可以定制导出过程以适应特定的需求,例如部署环境、硬件约束和性能目标。选择适当的格式和设置对于实现模型大小、速度和精度之间的最佳平衡至关重要。
Comments | 3 条评论
voluptatem quas in aut et porro ex esse molestiae libero recusandae illum quidem voluptas dolorem magnam deleniti dolores voluptatum. earum sapiente ad voluptatem similique optio nesciunt nam sit dist
ea quia voluptatem in inventore sed repudiandae maxime et mollitia. suscipit facilis laboriosam voluptatem delectus ut nihil esse vel quia in tempore magni doloremque a quas accusamus quis et. dolorem
est iure aspernatur eum aut nostrum et. sit quis aut similique dolorem aut similique qui et impedit ipsam doloremque et.