caffe安裝過程詳解linux版本
編者語:如果你想深入研究深度學習,強烈建議你有一塊好的顯示卡。caffe支援cpu、gpu兩個版本,強烈建議使用gpu版本訓練模型(因為速度真的非常快)。由於gpu版本需要安裝cuda和cudnn,所以強烈建議使用的顯示卡計算能力大於3.0,顯示卡計算能力請參考https://developer.nvidia.com/cuda-gpus。後續多顯示卡執行模型需要安裝的nccl對於顯示卡的計算能力也有一定的要求(目前市面上比較普遍的有A卡和N卡,請購買N卡),強烈建議不要在虛擬機器上做實驗(cpu版本可以),因為據我所知虛擬機器是識別不出顯示卡的,請選擇安裝雙系統。
一、版本: 本文的實驗環境: Lcuda: cuda8.0 cuda-repo-ubuntu1404-8-0-local-ga2_8.0.61-1_amd64.deb
cudnn: cudnn-8.0-linux-x64-v5.1.tgz 二、下載: Ubuntu:http://cn.ubuntu.com/download/cuda8.0: https://developer.nvidia.com/cuda-downloads
cudnn: https://developer.nvidia.com/rdp/cudnn-download(注:需要註冊)
gpu驅動下載: http://www.nvidia.cn/Download/index.aspx?lang=cn
$lspci | grep nouveau
如果沒有內容 ,說明禁用成功,如果有內容,就重啟一下再檢視。 (2)、對於較新的顯示卡來說,禁用掉nouveau有時候並不能解決問題,例如本文使用的GTX1070,在禁用掉nouveau以後仍有問題,安裝不上顯示卡驅動,解決辦法就是拔掉GTX1070顯示卡,用一塊舊點的顯示卡先安裝上驅動,在裝上1070顯示卡。 2、安裝開發需要的依賴包 $sudo apt-get install build-essential$sudo apt-get install libprotobuf-dev libleveldb-dev
libsnappy-dev libopencv-dev libboost-all-dev
$sudo apt-get install libhdf5-serial-dev libgflags-dev
libgoogle-glog-dev liblmdb-dev protobuf-compiler
3、安裝cuda8.0 NVIDIA官方提供了兩種安裝方式即run安裝和deb安裝。本文不建議讀者使用run安裝,因為很容易安裝失敗。建議使用deb安裝方法,方法如下: $sudo dpkg -i cuda-repo-ubuntu1404-8-0-local-ga2_8.0.61-1_amd64.deb $sudo apt-get update $sudo apt-get install cuda 第一行中的deb請讀者根據自己下載的cuda版本選擇。然後編譯sample $cd /usr/local/cuda $make all 在編譯完成後找到 device_query這個執行檔案並執行,如果安裝成功,會顯示gpu的相關資訊。 4、安裝cudnn 解壓cudnn-8.0-linux-x64-v5.1.tgz,安裝過程如下:$tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz
$cd cuda
$sudo cp lib/lib* /usr/local/cuda/lib64/
$sudo cp include/cudnn.h /usr/local/cuda/include/
接著更新cudnn檔案的軟連線: $cd /usr/local/cuda/lib64/ $sudo chmod r libcudnn.so.5.1.10 $sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5 $sudo ln -sf libcudnn.so.5 libcudnn.so $sudo ldconfig 5、安裝BLAS Caffe支援三種AtLas,分別是MKL、AtLas、OpenBlas,本文選擇OpenBlas: $sudo apt-get install libopenblas-dev 6、安裝OpenCV 本文選擇安裝的是OpenCV2.4.10,讀者也可安裝其他版本,如OpenCV3.0。 $cd Install-OpenCV/Ubuntu/2.4 $sh opencv2_4_10.sh 更改環境變數: $sudo vim /etc/bash.bashrcs 在檔案的最後新增如下路徑: PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH 如果遇到libEGL.so.1報錯,解決方法:$sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
$sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
$sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
$sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1
7、安裝Caffe的python環境 本文建議使用Anaconda,下載讀者需要的版本,本文下載的是linux-python2.7-64bit版本。安裝命令: $bash Anaconda2-4.3.1-Linux-x86_64.sh 請讀者根據下載情況自行調節版本號。 新增Anaconda庫的路徑: $vim /etc/ld.so.conf 新增 /usr/username/anaconda2/lib 注意username是讀者當前的使用者名稱而定,請自行修改。 修改~/.bashrc $vim ~/.bashrc 在檔案的最後新增如下命令: export LD_LIBRARY_PATH="/home/username/anaconda2/lib:$LD_LIBRARY_PATH" 8、Caffe安裝 (1)進入之前下載好的Caffe原始碼包,進入caffe根路徑下的python目錄,執行如下命令:$for req in $(cat requirements.txt); do pip install $req;done
這是在安裝caffe的python依賴庫,需要安裝pip。命令如下: $sudo apt-get install python-pip (2)編譯Caffe 進入caffe根目錄,複製一份編譯檔案: $cp Makefile.config.example Makefile.config 修改Makefile.config。 開啟USE_CUDNN:=1 按照自己機器情況修改CUDA_ARCH 開啟BLAS,BLAS:=open 修改python路徑,全部修改為Anaconda,即開啟ANACONDA_HOME,將PYTHON_INCLUDE和PYTHON_LIB改為$(ANACONDA_HOME)路徑。 修改完成後然後執行編譯命令: $make all -j4 $make test $make runtest 9、編譯python wrapper $make pycaffe 10、Pycaffe配置 (1)安裝依賴庫:$sudo apt-get install python-numpy python-scipy
python-matplotlib python-sklearn python-skimage python-h5py
python-protobuf python-leveldb python-networkx python-nose
python-pandas
python-gflags Cython$sudo apt-get install protobuf-c-compiler protobuf-compiler
(2)依賴庫編譯 $cd ~/caffe $make pycaffe (3)新增PYTHONPATH $sudo vim /etc/profile 在檔案最後新增:export PYTHONPATH=/home/username/caffe/python:$PYTHONPATH
username視讀者使用者名稱而定。使之生效: $source /etc/profile (4)測試 $python >>>import caffe 如果執行import caffe後沒有報錯,那就恭喜你Caffe安裝成功啦!!!