天天看點

Ubuntu16.04安裝caffe(僅cpu)

Ubuntu16.04安裝caffe(僅cpu)

背景:

之前用的centos6.6安裝caffe,由于各種依賴的問題,并且源裡面的安裝包有限,有時需要去網站上下載下傳包,涉及到對應的版本型号比較細緻且複雜,最終centos安裝caffe的路沒走下去,選擇了ubuntu16.04版本安裝caffe。

安裝步驟如下(參考網絡安裝教程):

1 安裝開發依賴包

$ sudo apt-get install build-essential

$ sudo apt-get install vim cmake git

$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

2. 安裝ATLAS

選擇數學計算的庫一般包括atlas,mkl,openblas。Mkl要收費,atlas安裝簡單。

$ sudo apt-get install libatlas-base-dev 

3. 下載下傳caffe

把事先在gitub網站上下載下傳好的caffe壓縮包,

放在工作目錄:home/yangxing/workspace/下,并在此解壓。

$  unzip caffe-master.zip

或者直接在home/yangxing/workspace打開終端,用git 指令下載下傳

$ git clone https://github.com/BVLC/caffe-master.git  

如果報錯,沒有git指令,則需下載下傳

$ apt-get install git

再執行上述git指令下載下傳caffe

4. 安裝Python相關依賴包

因為安裝caffe對python的要求至少是2.7版本,Ubuntu 16.04系統自帶了python2.7.12版本。分兩步:下載下傳安裝pip和python-**依賴包;再用pip下載下傳安裝requirements.txt裡的包。

首先需要在caffe-master目錄下安裝pip,

$ sudo apt-get install python-pip

由于pip 待會兒下載下傳安裝檔案裡的python依賴庫時,需要pip 9.0.1版本

是以需要将pip更新到此版本。

$ pip install --upgrade pip

進入caffe-master目錄下的python,安裝scipy

$ cd/home/yangxing/workspace/caffe-master/python

$ sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

最後同樣在home/yangxing/workspace/caffe-master/python目錄下,安裝requirements.txt裡面的包,需要切換到root權限

$ su

密碼:****

$ pip install -r requirements.txt

$ for req in $ (cat requirements.txt); do pip install $ req; done

如果提示報錯,一般是缺少必須的包引起的,直接根據提示 

$ pip install <package-name>就行了。

如果你不知道具體哪個沒有安裝,你可以執行下面指令進行檢查

$ pip install -r requirements.txt

安裝完後退出root權限

$ su yangxing

4編譯caffe

改配置安裝好上述的依賴包後,就開始編譯安裝caffe。

首先修改配置檔案,回到caffe目錄下

$ cd ~/caffe-master

$ cp Makefile.config.example  Makefile.config

$ udo gedit  Makefile.config

修改如下:

cpu_only :=1取消注釋,(即去掉#符号)

USE_LMDB :=1取消注釋

BLAS :=atlas取消注釋

修改python包目錄,這句話

PYTHON_INCLUDE := /usr/include/python2.7 \

  /usr/lib/python2.7/dist-packages/numpy/core/include

改為

PYTHON_INCLUDE := /usr/include/python2.7 \

  /usr/local/lib/python2.7/dist-packages/numpy/core/include

為了使caffe編譯時候能正确調用python,需要在系統内添加caffe裡的python位址,我們執行下面的指令

$ sudo gedit ~/.bashrc

在檔案的最下面添加caffe的位址

 #caffe

export PYTHONPATH=/home/yangxing/workspace/caffe-master/python

添加成功後直接按儲存後退出

讓剛剛修改的路徑立即生效,執行指令:

$ source ~/.bashrc

開始編譯caffe了,在/home/yangxing/workspace/caffe-master下,用make

$ make all -j16   #視自己的電腦來選擇-j8或者-j4,我電腦可以-j16,編譯速度快些

$ make test

$ make runtest

$ make pycaffe

檢驗python的接口環境是否配置成功,在caffe下,輸入python,在python的編輯下import caffe,如果不出錯,表明python接口配置完成。

$ cd /home/yangxing/workspace/caffe-master

$ python

Python 2.7.12(default,NOV 19 2016,06:48:10)

[GCC 5.4.0 20160619]on linux2

Type “help”,”copyright”,”credits”or “licence” for more information.  

>>>import caffe

如果不報錯,那就說明安裝好了。