參考:https://blog.csdn.net/u013842516/article/details/80604409
記錄一下裝了兩天的caffe2
1、 Ubuntu默認為python2.7,首先需要把python環境切換到python3.5,依次執行如下命令:
cd /usr/bin
sudo rm python
sudo ln -s python3.5m python
輸入python命令,查看python版本是否切換到python3.5,然后ctrl+D退出python環境
2、 接下來根據官網流程安裝caffe2
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential \
cmake \
git \
libgoogle-glog-dev \
libgtest-dev \
libiomp-dev \
libleveldb-dev \
liblmdb-dev
sudo apt-get install libopencv-dev
在安裝上面這個libopencv-dev時會提示沒有安裝一些依賴,如下圖所示,則需要自己一個個的安裝每個賴。
sudo apt-get install libopenmpi-dev \
libsnappy-dev \
libprotobuf-dev \
openmpi-bin \
openmpi-doc \
protobuf-compiler \
python3-dev \
python3-pip
sudo pip install \
future \
numpy \
protobuf
sudo apt-get install -y --no-install-recommends libgflags-dev
3、 開始下載caffe2源碼,在home目錄下git
git clone --recursive https://github.com/pytorch/pytorch.git && cd pytorch
這個過程可能網速太慢,導致下載失敗,如果是third party里的東西沒下載全,可以自己手動到上面這個鏈接上去下載,放到對應目錄下。
git submodule update --init
mkdir build && cd build
sudo cmake .. -DPYTHON_INCLUDE_DIR=/usr/include/python3.5 -DUSE_MPI=OFF.
Cmake時要加上后面的選項,否則后面會出錯:
如果不加-DUSE_MPI=OFF,在編譯到90%左右時報錯
undefined reference to symbol _ZN3MPI8Datatype
DSO missing from command line
-DPYTHON_INCLUDE_DIR=/usr/include/python3.5,在import caffe2.python.core時報錯
CRITICAL:root:Cannot load caffe2.python. Error: /home/arogozhn/projects/onnx/caffe2/build/caffe2/python/caffe2_pybind11_state.so: undefined symbol: _Py_ZeroStruct
這是cmake用python2.7編譯去了
確保上面python3.5徑是你的路徑下面是cmake的輸出,核對一下python版本是否是python3.5:
sudo make install
4、 配置下環境變量
export PYTHONPATH=$PYTHONPATH:/home/nvidia/pytorch/build
確保上面的路徑是你的build目錄
不配置這個環境變量,在import caffe2時報錯no module named caffe2
5、 測試是否安裝成功
cd ~ && python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"