pytorch转caffe2 之 onnx转caffe2报错的解

作者: rock4you | 来源:发表于2019-04-05 20:59 被阅读58次

目标:将 pytorch模型 转为 onnx模型 再转为 caffe2模型,得到两个.pb文件

pytorch转onnx可通过torch.onnx._export函数实现。

onnx转caffe2有两种方法:

第一种方法:使用命令行

参考:https://github.com/onnx/tutorials/blob/master/tutorials/OnnxCaffe2Import.ipynb

截图如下:

使用命令行的方式将onnx转为caffe2模型

第二种方法:写文件

参考:https://my.oschina.net/u/1431433/blog/2878668

截图如下:

写文件的方式将onnx转为caffe2

以及:https://pytorch.org/tutorials/advanced/super_resolution_with_caffe2.html

截图如下:

写文件的方式将onnx转为caffe2

本人在操作过程中,无论是第一种方法还是第二种方法,都会报错:

ValueError: Don't know how to translate op Unsqueeze

截图如下:

命令行转换时报错

以及:

写文件转换时报错

终于在网上找到一个解决方法,并且有几个人点赞,遂决定一试。

参考:https://github.com/onnx/onnx/issues/1481

截图如下:(修改onnx_caffe2/backend.py文件,添加两行即可)

网上的解决方法

这个💖是本人经验证可行之后点的,靠谱的帖子一定要顶起来,这样才能帮助更多的人。

本人使用conda安装的相关依赖库,对应的文件完整路径为:

/home/username/anaconda3/lib/python3.7/site-packages/onnx_caffe2/backend.py

只需添加上述的两行,再次运行时就可以通过了。

修改之后:

命令行转换不再报错

以及:

写文件转换不再报错

样例代码:(从pytorch模型转换为caffe2模型)

样例代码

获取更多信息,请关注微信公众号:

相关文章

网友评论

    本文标题:pytorch转caffe2 之 onnx转caffe2报错的解

    本文链接:https://www.haomeiwen.com/subject/nsbkiqtx.html