pytorch转caffe2 之 onnx转caffe2报错的解决方法
Posted code4fun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytorch转caffe2 之 onnx转caffe2报错的解决方法相关的知识,希望对你有一定的参考价值。
目标:将 pytorch模型 转为 onnx模型 再转为 caffe2模型,得到两个.pb文件
pytorch转onnx可通过torch.onnx._export函数实现。
onnx转caffe2有两种方法:
第一种方法:使用命令行
考: https://github.com/onnx/tutorials/blob/master/tutorials/OnnxCaffe2Import.ipynb
截图如下:
第二种方法:写文件
参考:https://my.oschina.net/u/1431433/blog/2878668
截图如下:
以及:https://pytorch.org/tutorials/advanced/super_resolution_with_caffe2.html
截图如下:
本人在操作过程中,无论是第一种方法还是第二种方法,都会报错:
ValueError: Don't know how to translate op Unsqueeze
截图如下:
以及:
终于在网上找到一个解决方法,并且有几个人点赞,遂决定一试。
参考:https://github.com/onnx/onnx/issues/1481
截图如下:(修改onnx_caffe2/backend.py文件,添加两行即可)
这个
以上是关于pytorch转caffe2 之 onnx转caffe2报错的解决方法的主要内容,如果未能解决你的问题,请参考以下文章
PyTorch 1.0 中文官方教程:使用ONNX将模型从PyTorch传输到Caffe2和移动端
开发 | 新版PyTorch发布在即,融合Caffe2ONNX