一、YOLO-V8 转 Onnx
在本专栏的前面几篇文章中,我们使用 ultralytics
公司开源发布的 YOLO-V8
模型,分别 Fine-Tuning
实验了 目标检测、关键点检测、分类 任务,实验后发现效果都非常的不错,但是前面的演示都是基于 ultralytics
框架实现的,如果要发布到移动端或服务端,就需要考虑通用开放格式了,比如 Onnx
格式。
Onnx
格式是一种开放格式,用于表示深度学习模型。它是由微软,亚马逊和Facebook
共同开发的,目的是为了促进不同深度学习框架和工具之间的模型互操作性。通过Onnx
,开发人员可以更容易地在不同的深度学习框架之间转换模型,例如从PyTorch
到TensorFlow
,反之亦然。
而 ultralytics
框架针对格式的转换已经做好了封装,只需要通过 model.export
方法,便可以转到多种不同格式的模型,格式如下:
格式 | format | 模型 | 元数据 | 论据 |
---|---|---|---|---|
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 轻型 | tflite | yolov8n.tflite | ✅ | imgsz, half, int8, batch |
TF 边缘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 |
评论记录:
回复评论: