概述
工作原因,需要将pytorch模型部署到rk3399。
现一步步记录下这些bug哈(晕)----希望最后能把这项目完成吧
pytorch ----> onnx
Bug 1:
RuntimeError: Failed to export an ONNX attribute, since it’s not constant,
please try to make things (e.g., kernel size) static if possible
解决方案:
一开始看blog说是pytorch版本问题,于是从 pytorch1.1 降级
conda install pytorch==1.0.1 torchvision==0.2.2 cudatoolkit=9.0 -c pytorch
但是后来还是报错哈。
其实这是网络模型里的一些写法问题,onnx只能识别常量,所以需要将模型里的一些shape[2:]
改为常量数值。
Bug 2:
RuntimeError: ONNX export failed: Couldn't export operator aten::avg_pool2d
这个bug看了好久,后来又将环境切换为原来的pytorch1.1的版本,然后就解决了。。。
Bug3:
net.onnx模型执行这步
onnx.checker.check_model(model)
报错
Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
解决方案:
查找原因是因为数组内存溢出。。。真的一脸懵。。。
最后发现是import包顺序不对!
在import torch之前import onnx,二者的前后顺序要注意
==> Passed
Process finished with exit code 0
然后这个bug就解决了(也是很晕哈)
最后
以上就是冷静黄蜂为你收集整理的Pytorch模型部署开发板所遇到的坑.....的全部内容,希望文章能够帮你解决Pytorch模型部署开发板所遇到的坑.....所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复