ONNX源码安装

ONNX是facebook提出的一个 Open Neural Network Exchange协议,能够让训练好的模型在不同的框架间进行交互。

ONNX的安装相对来说不是特别麻烦,麻烦的是其依赖库的安装。ONNX依赖于pybind11。

首先依赖库的安装

sudo pip install pytest  #pytest
sudo pip install numpy #numpy
sudo pip install scipy  #scipy

下载pybind11源码

git clone https://github.com/pybind/pybind11.git

 如果你需要eigen库的话,还需要先安装eigen,这里我选择的是无eigen的方式

新建一个编译出来的文件夹

mkdir build
cd build
cmake ..
make -j4
sudo make install

 这里有个问题,如果你同时存在python2.x和python3.x版本的话,默认选择的是python3.x版本的,但是我现在的整个环境是python2.7.12,所以就必须禁用掉Python3.x,大家都说禁用,其实就是让自动寻找方式找不到python3.x。

采用的方式是在/usr/bin中所有找到的python3.x相关的文件都移动到另一个文件夹内,然后开始编译

装好了pybind11之后(源码版本编译ONNX必须手动编译pybind11,使用pip install pybind11并不管用)

编译安装onnx

git clone https://github.com/onnx/onnx.git
cd ./onnx
python setup.py build
sudo python setup.py install

这里很有可能会出现cmake提示 Protobuf compiler not found  的问题,因此需要安装合适的protobuf编译器

sudo apt-get install  libprotobuf-dev protobuf-compiler
原文地址:https://www.cnblogs.com/jourluohua/p/10235317.html