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

E/WZT_TNN: TNN init failed 4096(有该项目YOLOv5模型详细转换过程描述) #1

Open
duyuankai1992 opened this issue Jan 7, 2021 · 51 comments

Comments

@duyuankai1992
Copy link

使用您的权重文件没有任何问题,当使用自己的自己的权重文件(通过https://convertmodel.com转换,出现了一下错误。
KnockPic_20210107111531

@duyuankai1992
Copy link
Author

使用您的权重文件没有任何问题,当使用自己的自己的权重文件(通过https://convertmodel.com转换,出现了一下错误。
KnockPic_20210107111531

同样的模型,转换成ncnn后可正常运行

@cmdbug
Copy link
Owner

cmdbug commented Jan 7, 2021

20210423:最新版tnn好像已经支持5维可以直接导出,不用修改导出部分但需要修改后处理部分代码(未测试)。
以下为4维方式,按这种方式可以不修改后处理部分代码。
yolov5 支持v1/v2/v3 版本,v4/v5版本好像模型有改动,未测试。
首先tnn暂时不支持5维的计算,所以在模型输出部分有5维的数据需要修改:
image

然后导出部分:
image

导出 onnx 后使用 onnx-simplifier 优化一下。
再使用 https://convertmodel.com 直接 onnx -> tnn 生成模型就好了。

再用 netron 打开 .tnnproto 看下对应的输出名称,并修改 .h 文件对应的值。
image
image

然后运行,搞定!

@duyuankai1992

This comment has been minimized.

@duyuankai1992

This comment has been minimized.

@cmdbug

This comment has been minimized.

@duyuankai1992

This comment has been minimized.

@cmdbug

This comment has been minimized.

@duyuankai1992

This comment has been minimized.

@cmdbug cmdbug pinned this issue Jan 16, 2021
@cmdbug cmdbug unpinned this issue Jan 16, 2021
@cmdbug cmdbug changed the title E/WZT_TNN: TNN init failed 4096 E/WZT_TNN: TNN init failed 4096(里面有详细转换过程说明) Feb 4, 2021
@cmdbug cmdbug changed the title E/WZT_TNN: TNN init failed 4096(里面有详细转换过程说明) E/WZT_TNN: TNN init failed 4096(有该项目YOLOv5模型详细转换过程描述) Feb 4, 2021
@gangping

This comment has been minimized.

@gangping

This comment has been minimized.

@cmdbug

This comment has been minimized.

@gangping

This comment has been minimized.

@cmdbug
Copy link
Owner

cmdbug commented Apr 1, 2021

不需要重新训练,,按原始的训练,,只有在导出的时候改成这样就可以了。

@gangping

This comment has been minimized.

@cmdbug

This comment has been minimized.

@gangping

This comment has been minimized.

@cmdbug
Copy link
Owner

cmdbug commented Apr 2, 2021

看图片有部分是对的, 是不是 .h 文件里面的 layers 对应的输出没有改?就是 output, 413, 431 这3个没有改?

@gangping

This comment has been minimized.

@cmdbug

This comment has been minimized.

@gangping

This comment has been minimized.

@cmdbug

This comment has been minimized.

@gangping

This comment has been minimized.

@cmdbug

This comment has been minimized.

@cmdbug

This comment has been minimized.

@gangping

This comment has been minimized.

@cmdbug
Copy link
Owner

cmdbug commented Apr 2, 2021

试v3版本吧,v4的没试过。

@gangping

This comment has been minimized.

@cmdbug
Copy link
Owner

cmdbug commented Apr 2, 2021

我当时使用的是yolov5的v3,最近的v4不懂有没有改什么。

@gangping

This comment has been minimized.

@gangping

This comment has been minimized.

@cmdbug
Copy link
Owner

cmdbug commented Apr 6, 2021

示例中的模型就是yolov5版本的。让你试v3的版本,
https://github.com/ultralytics/yolov5/releases
image

底下有代码跟模型:
image

v4版本激活函数改成了 nn.SiLU() ,tnn不懂支不支持。

@gangping

This comment has been minimized.

@cmdbug

This comment has been minimized.

@gangping

This comment has been minimized.

@cmdbug

This comment has been minimized.

@gangping

This comment has been minimized.

@gangping

This comment has been minimized.

@cmdbug

This comment has been minimized.

@gangping

This comment has been minimized.

@cmdbug

This comment has been minimized.

@gangping

This comment has been minimized.

@cmdbug

This comment has been minimized.

@gangping

This comment has been minimized.

@cmdbug

This comment has been minimized.

@gangping

This comment has been minimized.

@cmdbug

This comment has been minimized.

@gangping

This comment has been minimized.

@cmdbug

This comment has been minimized.

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

3 participants