总结记录几个版本的yolo导出torch—>onnx—>openvino
1. yolov5
2. yolo-nas
3. yolov9
👇这是我转换出来的最终的openvino模型(yolov5n、yolonas、yolov9c)下载链接
提取码:hgyt
百度网盘链接
1、yolov5(已实践验证过,方法可行)
参考官方教程,ultralytics官方文档的方法👇
# 首先进入yolov5文件夹根目录,默认输入[1,3,640,640],默认输出[1,25200,85]
python export.py --weights yolov5s.pt --include onnx
onnx—>openvino,参考这篇文章onnx模型转openvinoIR模型+推理(学习笔记)
2、yolov-NAS(已实践验证过,方法可行)
2.1、安装环境
pip install torch openvino super_gradients
2.2、模型转换(torch—>onnx—>openvino)
import torch
import openvino as ov
from super_gradients.training import models
from super_gradients.common.object_names import Models
# 导入 YOLO-NAS 模型
yolo_nas_model = models.get(Models.YOLO_NAS_S, pretrained_weights='coco')
yolo_nas_model.eval()
# 定义输入尺寸
input_shape = (1, 3, 640, 640) # 根据模型的输入尺寸设定
# 创建一个虚拟输入张量
dummy_input = torch.randn(input_shape)
# 导出模型为 ONNX 格式
onnx_path = 'yolo_nas.onnx'
torch.onnx.export(yolo_nas_model, dummy_input, onnx_path, export_params=True, opset_version=11)
# 转换 ONNX 模型为 OpenVINO 格式
ov_model = ov.convert_model(onnx_path)
# 保存 OpenVINO 模型
ir_path = 'yolo_nas.xml'
ov.save_model(ov_model, ir_path)
print("OpenVINO IR model saved to:", ir_path)