Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于yolov9_converted支持方面的问题 #11

Open
gl94 opened this issue Mar 6, 2024 · 3 comments
Open

关于yolov9_converted支持方面的问题 #11

gl94 opened this issue Mar 6, 2024 · 3 comments

Comments

@gl94
Copy link

gl94 commented Mar 6, 2024

首先,感谢作者的贡献!尤其是安装文档,节省了我大量的时间。给你们点赞!
我的问题是:
yolov9官方提供了重参数化脚本可以获得剪掉aux branch的精简版模型(converted_version)。也就是官方提供的参数yolov9c.pt对应的yolov9c_converted.pt。请问converted版本的模型导出的onnx也支持吗?

@gl94
Copy link
Author

gl94 commented Mar 6, 2024

OK 现在问题是converted的版本onnx导出都有问题

@Melody-Zhou
Copy link
Owner

OK 现在问题是converted的版本onnx导出都有问题

我参考 https://github.com/spacewalk01/TensorRT-YOLOv9/tree/main 提供的重参化脚本文件后导出的 onnx 非常干净,你可以尝试下。为了适配本项目导出 onnx 时你可能需要做以下几点调整:

  1. 输出节点名修改为 output
  2. 添加 transpose 节点交换输出维度,交换后的维度是 1x8400x84
  3. 如果导出动态 shape 模型则保证只让 batch 维度动态

@gl94
Copy link
Author

gl94 commented Mar 7, 2024

OK 现在问题是converted的版本onnx导出都有问题

我参考 https://github.com/spacewalk01/TensorRT-YOLOv9/tree/main 提供的重参化脚本文件后导出的 onnx 非常干净,你可以尝试下。为了适配本项目导出 onnx 时你可能需要做以下几点调整:

  1. 输出节点名修改为 output
  2. 添加 transpose 节点交换输出维度,交换后的维度是 1x8400x84
  3. 如果导出动态 shape 模型则保证只让 batch 维度动态

谢谢,根据你提供的建议和参考代码,我在yolov9官方仓库里进行修改后,成功用官方的export.py导出了converted版本的模型并成功TensorRT推理。
给后人一个提醒:注意重参数化的时候model.nc = ckpt['model'].nc要修改成自己的类别数,同时在gelan-c.yaml的第4行和第79行也要做同样的修改,改成自己的类别数。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants