pytorch的onnx经典报错问题!!!
RuntimeError: Failed to export an ONNX attribute, since it’s not constant, please try to make things
最近一直在跑代码,然后发现每次配置好环境,总会出现同一个错误!就是令人头晕的onnx问题之一:RuntimeError!?据说这个问题是pytorch 1.1.0的pytorch模型转onnx的bug,还能说啥呢??♂?
ONNX是个什么东东????♂?
好了,了解之后开始吧~
解决方案:
- 改pytorch版本,降到1.0.1版本,亲身测验可行
- 升级版本,改为pytorch=1.2.0版本
- 根据报的错误日志信息打开/home/jxxx/xxx/venv/lib/python3.6/site-packages/torch/onnx/symbolic_helper.py,在相应位置添加print之后,可以定位到具体哪个op出问题。
print(v.node())然后看输出的错误信息,本人未测试过,毕竟安装环境简单明了
4.修改 torch/onnx/symbolic_opset9.py文件具体做法参考给出的github,本人未测试过,下次可以尝试下~
5.修改symbolic.py 参考官方修改流程更新之后确定转换是可行的。建议
总之,本人尝试过降版本,升级,修改symbolic.py ,均可,看自己代码需要什么版本,1.1.0版本以上就升级吧。
一句话概括,就是版本问题!!