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

onnx模型转rknn模型后尺寸异常 #162

Open
770768405 opened this issue Sep 27, 2024 · 12 comments
Open

onnx模型转rknn模型后尺寸异常 #162

770768405 opened this issue Sep 27, 2024 · 12 comments

Comments

@770768405
Copy link

使用自带的工具转换模型

python -m rknn.api.rknn_convert -t rk3588 -i ./model_config.yml -o ./

image

配置文件中尺寸设置为30004096时,转换出的模型为167M,尺寸设置为30004092时,转换出的模型为26M
30004092的模型能正常运行,而30004096的模型会出错,内存分配有问题,为什么会这样?

image

@yuyun2000
Copy link

你onnx模型的输入shape是什么?

@770768405
Copy link
Author

你onnx模型的输入shape是什么?

image
onnx模型是动态输入的,我试着直接在生成onnx模型时,直接设置3000*4096,但还是出现了一样的问题

@yuyun2000
Copy link

你这个工具好陌生啊,是rk2?

@770768405
Copy link
Author

是的,我也直接用python脚本转过,还是出现了一样的问题
image

@yuyun2000
Copy link

我怎么感觉这么奇怪呢?你这是在哪转的模型? toolkit只有x86的包,你咋在板子上直接转的

@770768405
Copy link
Author

我是在虚拟机上的ubuntu中转的,用的rknn-toolkit2这个包,verson=2.2

@yuyun2000
Copy link

所以你问题中的第二张报错图,是虚拟机里得报错?

@770768405
Copy link
Author

不是,是我用生成的模型部署到板子上运行报的错

@yuyun2000
Copy link

这个可以先去看一下算子列表,有可能4096超限制了但是4092没有超,也有可能是版本bug换低版本再试一下。用perf接口可以看每层的输入输出

@770768405
Copy link
Author

我不知道如何看超还是没超,你能帮我看看嘛
这是4096的:
image
image
image
这是4092的:
image
image

另外换低版本的是指的toolkit2嘛,我之前就是在2.1版本上遇到了这个问题,才升级到2.2版本的,如果需要换低版本,换那个比较稳定

@yuyun2000
Copy link

看不出来,等大佬吧,或者用1.5版本试试

@770768405
Copy link
Author

好吧

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