关于yolov9导出onnx教程以及问题解决

 最近yolov9的发布可以说再次点燃cv界关于目标检测的热情,作为object detection的新SOTA,友友我赶紧训练自己的数据集并导出onnx文件,onnx文件在export.py下运行获得。在运行代码的过程中碰到了一些问题,在这里友友我带大家一步一步修改并导出自己的模型。

1.程序运行位置

  首先要在GitHub上下载文件,链接:GitHub - WongKinYiu/yolov9: Implementation of paper - YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information

下载好后打开文件,训练好自己的模型,保存的pt文件位置在runs/train/exp6/weights下

要导出模型onnx文件,在yolov9\export.py的路径可以找到

2.需修改的参数

第567行是相关参数配置,如图

这里要将569行data.yaml文件改成自己的yaml路径,570行修改成自己的pt文件路径

593行default=[' ']输入onnx

这样基本配置就完成了。

3.运行时可能出现的问题

1.将export.py文件的第497行换成 if isinstance(m, Detect):

2.将507行

shape = tuple((y[0] if isinstance(y, tuple) else y).shape)  # model output shape

改为

shape = tuple(y[0].shape) if isinstance(y, (tuple, list)) and y and isinstance(y[0], torch.Tensor) else tuple(
    y.shape) if isinstance(y, torch.Tensor) else None  # model output shape

3.配置onnx

在终端输入pip install onnx(若下载慢,则加上清华源i https://pypi.tuna.tsinghua.edu.cn/simple)

以上问题解决后,运行应该没什么问题,最终结果如下

生成文件

4.查看模型结构

Netron网站导入自己的模型文件,即可查看结构(pt模型同样ok)

结语:以上就是友友给大家带来的导出yolov9的onnx文件教程,如果还有遇到的问题欢迎来评论区留言。

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值