目錄
1.使用conda安裝(anaconda,miniconda)
3.使用conda並且從源碼安裝(本人親測,可以安裝caffe2,並且可以安裝Detectron)
caffe2的安裝並不簡單,主要原因是中文博客五花八門,而官網的安裝教程又太不詳細,所以這裏根據自己親自的實踐過程寫一篇博客,方便日後查看。
首先還是安裝conda和cudnn,如果沒有安裝這兩個工具的朋友可以參考我的這篇博客:Ubuntu下安裝Cuda和cudnn
下面有兩種安裝方法,第一種方法非常簡單,如果不需要安裝Detectron的話,可以先嚐試第一種方法。
1.使用conda安裝(anaconda,miniconda)
1.1 安裝anaconda或者miniconda
安裝步驟非常簡單,可參考相關博客完成。需要注意的是要將anaconda的bin路徑放在.bashrc文件中,例如我的路徑爲
export PATH="/home/wangyuanwei/miniconda3/bin:$PATH"
運行下面的指令使環境生效
source ~/.bashrc
1.2 創建虛擬環境並激活
由於後續還需要安裝Detectron,而Detectron需要的Python版本爲Python2,所以在創建虛擬環境的時候就指定使用Python2。
打開終端,用下面的命令創建一個名稱爲caffe2的虛擬環境:
conda create -n caffe2 python=2.7
然後激活這個虛擬環境
source activate caffe2
1.3 安裝caffe2
查看gcc的版本號
gcc --version
如果gcc的版本號小於5的話,可用下面的兩個命令來安裝CPU或者GPU版本的caffe2
CPU版本
conda install -c caffe2 caffe2-gcc4.8
GPU版本
conda install -c caffe2 caffe2-cuda9.0-cudnn7-gcc4.8
如果gcc的版本號大於5,則按照自己的配置從下面的三條指令中選擇一條命令,假如cuda和cudnn都不符合下面的要求,則可以更改cudnn或者cuda的版本,具體方法可以參考我的另外一篇博客,或者使用下面介紹的從源碼安裝的方法來安裝。
CPU版本
conda install -c caffe2 caffe2
GPU版本1:cuda9.0+cudnn7.0+caffe2
conda install -c caffe2 caffe2-cuda9.0-cudnn7
GPU版本2:cuda8.0+cudnn7.0+caffe2
conda install -c caffe2 caffe2-cuda8.0-cudnn7
1.4 驗證caffe2
上述安裝任務完成後,打開一個新的終端窗口,然後激活caffe2:
source activate caffe2
然後輸入下面的語句驗證是否安裝成功;
python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"
如果沒有提示異常就是安裝成功。
但是如果打算安裝 Detectron的話,這種方法不可行,可能是conda安裝的caffe2版本不夠新,所以還不支持Detectron。
2.使用conda build安裝
這是從官網翻譯過來的教程(點擊進入官網教程),這種方法需要事先安裝好anaconda或者miniconda,理論上可以安裝caffe2,並且支持Detectron,不過本人沒有使用這種方法安裝過。(不過方法非常簡單,可以嘗試一下)
(1)下載源碼。
新建一個存放源碼的文件夾(最好不要有中文),然後進入該文件夾,打開終端下載源碼:
git clone --recursive https://github.com/pytorch/pytorch.git && cd pytorch
(2)安裝caffe2
CPU版本:
./scripts/build_anaconda.sh --install-locally
GPU版本
./scripts/build_anaconda.sh --install-locally --cuda 9.0 --cudnn 7
測試caffe2
python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"
3.使用conda並且從源碼安裝(本人親測,可以安裝caffe2,並且可以安裝Detectron)
(1)下載caffe2源碼
cd進入合適的路徑,將源碼存放在當前路徑中,例如我的想將caffe2 的源碼安裝在 /home/wangyuanwei/Deeplearning/目錄下,則運行下面的指令:
cd /home/wangyuanwei/Deeplearning/
git clone --recursive https://github.com/pytorch/pytorch.git && cd pytorch
(2)創建並激活虛擬環境
跟第一種安裝方法類似,首先應該安裝anaconda,創建並激活虛擬環境:
conda create -n caffe2 python=2.7 && source activate caffe2
(3)安裝所需要的安裝包
conda install -y \
future \
gflags \
glog \
leveldb \
mkl \
mkl-include \
numpy \
opencv \
protobuf \
six
注意:本人在實際測試的時候發現protobuf老是出錯,原因可能是用conda 自動安裝的protobuf版本太老,也有可能是conda自動安裝的protobuf安裝包出現錯誤。所以下面的步驟非常關鍵
可以使用下面的指令卸載舊版本的protobuf,並且安裝一個新版本的protobuf(親測有效):
pip uninstall protobuf
pip install 'protobuf>=3.0.0a3'
或者使用下面的指令,從官網正式發佈包重新安裝protobuf(親測有效)
conda install -y --channel https://conda.anaconda.org/conda-forge protobuf
接着查看一下當前的protobuf版本
protoc --version
顯示版本爲 libprotoc 3.6.0,說明protobuf版本更新成功。
(4)創建build文件夾
注意當前的目錄仍然爲/home/wangyuanwei/Deeplearning/caffe2/pytorch,用下面的指令在該目錄下創建build文件夾
git submodule update --init
rm -rf build && mkdir build && cd build
(5)對caffe2的build進行配置
根據conda的安裝位置進行配置,例如我的配置爲:
cmake -DCMAKE_PREFIX_PATH=/home/wangyuanwei/miniconda3/envs/caffe2 -DCMAKE_INSTALL_PREFIX=/home/wangyuanwei/miniconda3/envs/caffe2 ..
此時cmake會輸出一堆配置信息。
(6)編譯並安裝caffe2
make install
本人安裝到20%左右的時候發生了中斷,原因是沒有使用root權限,可以使用下面的指令重新安裝:
sudo make install
(7)測試
如果protobuf沒有問題的話,應該是可以安裝成功的。輸入下面的兩個指令測試:
python2 -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo
python2 -c 'from caffe2.python import workspace; print(workspace.NumCudaDevices())'
如果出現類似“ImportError: No module named caffe2.python”的錯誤的時候,則需要給系統添加一下Python的環境:
打開.bashrc文件,在最後一行添加如下路徑
export PYTHONPATH=/home/wangyuanwei/Deeplearning/caffe2/pytorch/build:$PYTHONPATH
然後運行下面的命令讓環境生效:
source ~/.bashrc
此時重新打開一個新的終端窗口,並且激活caffe2環境,再次運行上面的測試程序就不會再出錯了。
至此安裝成功!