当前位置:   article > 正文

Pytorch模型部署开发板所遇到的坑....._torch模型部署到开发板

torch模型部署到开发板

工作原因,需要将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
  • 1
  • 2

解决方案:
一开始看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
  • 1

这个bug看了好久,后来又将环境切换为原来的pytorch1.1的版本,然后就解决了。。。

Bug3:

net.onnx模型执行这步

onnx.checker.check_model(model)
  • 1

报错

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
  • 1

解决方案:
查找原因是因为数组内存溢出。。。真的一脸懵。。。
最后发现是import包顺序不对!
在import torch之前import onnx,二者的前后顺序要注意

==> Passed

Process finished with exit code 0
  • 1
  • 2
  • 3

然后这个bug就解决了(也是很晕哈)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/351157
推荐阅读
相关标签
  

闽ICP备14008679号