1 前言
下午配置了一下ONNX插件,踩了很多坑,折腾到晚上。作简单记录。
2 第一个坑——设置ONNX_ML环境变量
ONNX官方教程安装https://github.com/onnx/onnx#linux-and-macos要求在安装ONNX之前要先设置ONNX_ML=1,一开始以为是要在.bashrc配置文件中设置,经试验,无效。事实上是这样的:
在安装ONNX的命令前添加ONNX_ML=1,该命令就变成了:
ONNX_ML=1 pip install onnx
该问题解决。
3 numpy版本问题
安装好ONNX之后,使用python3验证ONNX是否安装成功:
import onnx
结果报错:
No module named 'numpy.core._multiarray_umath'
显然是onnx所需的numpy的版本的问题,与ONNX本身无关。解决方法:
sudo pip3 install --upgrade numpy
升级过程中可能会出现timeout问题,多试几次就好了。
4 PyTorch版本问题
在上述问题都解决了的前提下,运行ONNX的测试程序时报错:
No module named 'torch.onnx'
问题应该是出在pytorch的版本上,经查看我的pytorch的版本是0.1.12_1,而目前ONNX的官方文档给出的都是pytorch1.0.0以上版本。所以考虑更换1.0.0以上版本的pytorch。
参考版本1.0.1:
conda install pytorch-cpu torchvision-cpu -c pytorch
问题解决。