caffe 安裝方法(python)
前言:
在一臺系統環境較好的linux機器上可以很容易的安裝caffe,但是如果系統本身很舊,又沒有GPU的話,安裝就太麻煩了,所有都得從頭做起,本文件旨在儘可能覆蓋安裝所要採的坑。
步驟:
一、caffe是主要是C/C++和python編寫的。首先,得需要將gcc,g++安裝好,通過yum安裝就可以。
二、cuda的安裝,如果機器上配置了NVIDIA系列GPU,則需要安裝該驅動,推薦安裝該驅動至7.0版本,推薦同時安裝cuDNN。安裝可以參考http://blog.csdn.net/xuanyuansen/article/details/43152311,centos系統下類似。
三、caffe的layer開發以google的protobuf為格式,需要安裝該依賴,推薦安裝2.6.1版本(gcc版本推薦4.4.7),下載地址為https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz,按照README檔案裡的步驟安裝即可。
四、python安裝,caffe提供了python的介面,可以用python進行相關開發,而且可以在ipython-notebook裡面畫出網路結構,非常方便。為了使用這些功能,推薦在目標機器上編譯安裝python2.7.10,原始碼下載地址見python官網,為了多使用者環境考慮,強烈建議安裝目標使用者自己的python,可以在自己使用者的home下建立usr資料夾,解壓原始碼後加如下配置命令:
./configure --enable-shared \
--prefix=${HOME}/usr/local \
LDFLAGS=“-Wl,—rpath=${HOME}/usr/local/lib”
make && make install
即需要python的lib檔案可以被其他程式共享,rpath後面就是自已的路徑。
安裝好後需要配置目標使用者下的bashrc檔案,加入如下行:
PATH=/home/lianhua/usr/local/bin:$PATH
然後source bashrc檔案,如果進入python版本正確則安裝成功,否則檢查路徑重新編譯。
python安裝好後需要安裝pip,在官網上下載get-pip.py執行即可,然後安裝相應版本的protobuf,同時安裝caffe的官方說明安裝其他的依賴:
for req in $(cat requirements.txt); do pip install $req; done
五、安裝openblas
從openblas官網下下載安裝安裝包,安裝README檔案安裝就好,make&&make install,可能需要sudo許可權。
六、yum依賴安裝
參加官方文件http://caffe.berkeleyvision.org/install_yum.html,需要安裝上述所有依賴,首先需要安裝和系統相應的最新的repository檔案,然後執行sudo yum install epel-release,更新站點從而安裝最最新的依賴。
七、opencv安裝
前置需要安裝較新版本的cmake,去官網下載安裝即可。
opencv安裝有兩種方式:
1、下載原始碼包安裝,請參考:
http://www.javieriparraguirre.net/installing-opencv-debian/(依賴的安裝,centos類似)
2、利用自動指令碼安裝:
地址:https://github.com/jayrambhia/Install-OpenCV
八、caffe安裝配置
到此處終於可以進入正題,進行caffe的安裝,如果上述安裝過程順利的話,caffe的安裝也就沒有太大問題了。關鍵在於正確配置Makefile.config檔案,需要修改如下配置至相應的路徑(參照配置檔案的註釋,疑惑的地方google即可):
1、CUDA_DIR
2、BLAS := open,BLAS_INCLUDE :=,BLAS_LIB :
3、PYTHON_INCLUDE :=
注意此處需要新增python下numpy的路徑
4、PYTHON_LIB :=
5、WITH_PYTHON_LAYER := 1
注意此處需要將python的hdf5安裝路徑新增到:INCLUDE_DIRS := $(PYTHON_INCLUDE)和LIBRARY_DIRS := $(PYTHON_LIB)
上述配置檔案修改好後,回到caffe的根目錄,執行make all -j4,注意此處程序不要過多,否則會出現詭異的錯誤;
make test -j4
make runtest -j4
至此caffe主程式編譯完畢。
下面編譯pycaffe,至執行
make pycaffe
make distribute
執行完後修改bashrc檔案,新增
PYTHONPATH=${HOME}/caffe/distribute/python:$PYTHONPATH
LD_LIBRARY_PATH=${HOME}/caffe/build/lib:$LD_LIBRARY_PATH
使得python能夠找到caffe的依賴。
進入python,import caffe,如果成功則說明一切ok,否則檢查路徑從頭再來,甚至需要重新編譯python。