1. 程式人生 > >ubuantu下安裝和配置caffe框架(intel集顯 cpu版)

ubuantu下安裝和配置caffe框架(intel集顯 cpu版)

1. 檢視本機電腦配置與電腦的GPU版本:

系統:Ubuntu 16.04 命令:

lspci | grep -i vga

也可以使用 lshw 命令來獲取上述資訊: 命令:

lshw -C display

類似如下輸出: 這裡寫圖片描述 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)

2.顯示卡驅動名稱: 命令:

sudo lshw -c video | grep configuration

這裡寫圖片描述

上圖中可以看到輸出的顯示卡驅動名稱有兩條,其中一條為 driver=i915,存在於本地檔案中。

3.檢查顯示卡驅動:modinfo i915 發現顯示卡是因特爾的顯示卡,而不是英偉達的顯示卡程式。 這裡寫圖片描述

|

2.下載顯示卡驅動:

a. 如果你是英偉達顯示卡,可以使用NVIDIA的GPU來跑cafe。 官網:http://www.nvidia.cn/object/unix-cn.html 去顯示卡官網根據自己的顯示卡版本而下載對應的顯示卡驅動。 安裝參考地址:http://www.linuxidc.com/Linux/2016-12/138870.htm b. 如果你是英特爾顯示卡,就使用intel的CPU跑caffe的,需要確保你自己的顯示卡驅動是安裝好的。

3.安裝依賴庫:

下面開始正文,安裝caffe開始。 終端切換到root許可權: ``` sudo su root ``` 然後依次安裝: ``` apt-get install libprotobuf-dev apt-get install libleveldb-dev apt-get install libsnappy-dev apt-get install libopencv-dev apt-get install libhdf5-serial-dev apt-get install protobuf-compiler apt-get install --no-install-recommends libboost-all-dev ```

由於我只有CPU,所以跳過CUDA相關的安裝;

接下來是BLAS:

apt-get install libatlas-base-dev  
  • 1

使用預設Python來建立pycaffe介面,需要安裝:

apt-get install python-dev  
  • 1

一些相容性依賴庫:

apt-get install libgflags-dev  
apt-get install libgoogle-glog-dev   
apt-get install liblmdb-dev  
  • 1
  • 2
  • 3

4.克隆(下載)Caffe原始碼:

沒有安裝git的話需要先裝一下git: 命令:

apt-get install git

下載Caffe原始碼: 命令:

如圖: 這裡寫圖片描述

配置Caffe的Python介面, 終端切換到caffe下的python目錄下, 輸入以下命令下載python依賴庫(先安裝pip):

apt-get install python-pip  
for req in $(cat requirements.txt); do pip install $req; done  
  • 1
  • 2

5.修改配置檔案Makefile.config:

終端進入到caffe目錄下: 拷貝一份Makefile.config.example並重命名成Makefile.config, 命令: ``` cp Makefile.config.example Makefile.config ``` ![這裡寫圖片描述](//img-blog.csdn.net/20180313173945523?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L0lUQmlnR29k/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

修改該配置檔案: 命令:

sudo gedit Makefile.config
  • 1

因為這裡沒有配置GPU,所以去掉CPU_ONLY := 1前面的註釋; 這裡寫圖片描述

注意!!!由於Ubuntu16.04檔案結構的變化,#Whatever else you find you need goes here.處要改成下面這樣:這裡也是很多以前老版本的教程中沒改正的地方。

# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial  
  • 1
  • 2
  • 3

還需要注意的就是:如果你在make pycaffe的時候, 報錯和numpy相關,則重新開啟Makefile.config目錄,然後在自己電腦上查詢一下numpy的安裝目錄,需要保證numpy的路徑是對應上:

# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
		/usr/lib/python2.7/dist-packages/numpy/core/include
  • 1
  • 2
  • 3

對應本地: 這裡寫圖片描述

6.編譯caffe原始碼:

完成修改檔案以後就可以開始編譯: 依次命令: ``` make pycaffe make all make test make runtest ``` make預設單核運算,如果想加快速度,我這裡是4核,可以在每條命令後面加上-j4,如果有報錯,建議最好make clean重新開始。 如果所有測試都通過,則說明安裝好了。 效果圖: make pycaffe ![這裡寫圖片描述](//img-blog.csdn.net/20180313174242568?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L0lUQmlnR29k/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

Make all: 這裡寫圖片描述

Make test: 這裡寫圖片描述

make預設單核運算,如果想加快速度,可以在命令後加上-jx

電腦是幾核,就可以在每條命令後面加上-jx, 比如:make all -j8

注意,在編譯環節,如果一旦有報錯,最好make clean,然後再重新開始編譯。 如果所有測試都通過,則說明安裝好了。 Make runtest: 這裡寫圖片描述

7.測試Python介面:

終端進入到caffe/python檔案目錄下, 輸入以下命令: ``` export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH ``` 然後在輸入命令: ``` python import caffe ``` 如圖: ![這裡寫圖片描述](//img-blog.csdn.net/20180313174451452?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L0lUQmlnR29k/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70) 如果沒有報錯,證明安裝成功 但是上面路徑設定方法,是一旦關閉終端或者開啟新終端則失效。

下面直接把環境放到配置檔案中,可以永久有效。 命令:

sudo gedit ~/.bashrc 
  • 1

開啟編輯,在最後一行加入語句:

export PYTHONPATH=/你的路徑/caffe/python:$PYTHONPATH 
  • 1

儲存退出。

然後繼續在終端下輸入:

source ~/.bashrc

使環境變數生效,然後關閉終端,去進入到python環境下,測試import caffe,沒有報錯則永久設定成功。 如圖: 這裡寫圖片描述

上面就是安裝整個caffe的過程。

補充:

1.安裝pip指令: sudo apt install python-pip ![這裡寫圖片描述](//img-blog.csdn.net/20180313174711828?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L0lUQmlnR29k/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

2.檢視caffe配置的是哪個版本的python介面: 由於linux自帶安裝的有python2.7和Python3.5兩個版本。 配置caffe的Python介面以後,有人不知道是哪個版本生效了? 命令:

import sys sys.path 這裡寫圖片描述 可以看見python2下安裝的各種庫。 然後再開啟caffe資料夾下的makefile.config 裡面可以看到是python2.7生效,所以對應的應該是python2.7版本。

3.import caffe失敗: 這裡寫圖片描述

參考第5步.配置環境變數那裡,需要確保路徑都是添加了,而且是正確的。

4.安裝numpy命令: python3的:sudo apt-get install python3-numpy python2的:sudo apt-get install python-numpy

8、參考文獻

官網教程,附上鍊接: https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide

You got a dream, you gotta protect it. 如果你有夢想的話,就要去捍衛它 。 ——《當幸福來敲門》