Ubuntu14.04安裝caffe指南

操做系統:Ubuntu14.04 64bitspython

處理器:Intel core i7-4790k 8核4GHzlinux

GPU:GTX TITAN Xbash

cuda:cuda7.0app

NVIDIA驅動:NVIDIA346.72ide

blas:mkl學習

安裝過程:優化

(一)Ubuntu系統安裝ui

最好安裝Ubuntu14.04,對caffe的支持最好,另外,安裝完Ubuntu以後不要更新系統。google

 

(二)caffe依賴項spa

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

注意,這裏安裝的都是一些必要的庫文件,必須安裝。

 

(三)NVIDIA驅動安裝

從NVIDIA官網下載英文版驅動,有.run與.deb兩種格式,前者可自選組件進行安裝,後者則等效於一鍵安裝。注意要選擇與本身gpu想匹配的驅動,沒試過中文版驅動,不知道是否可行,不過在官網上下載中文驅動的時候會出現亂碼。下載完驅動以後(我下的.run文件)按照官網的安裝說明進行安裝,大致步驟以下:

一、利用sudo gedit /etc/modprobe.d/blacklist-nouveau.conf新建blacklist-nouveau.conf文件,輸入命令

blacklist nouveau

blacklist lbm-nouveau

options nouveau modeset=0

alias nouveau off

alias lbm-nouveau off

保存並退出。這一步是爲了禁掉Ubuntu自帶開源驅動nouveau。以後sudo reboot重啓系統。在終端執行命令

lsmod | grep nouveau

能夠查看nouveau模塊是否被加載。若是什麼都沒輸出,則執行下一步。

二、重啓後屏幕分辨率變低,不用管。進入tty1文件模式,輸入用戶名密碼後登錄,輸入命令

sudo /etc/init.d/lightdm stop

關閉xserver。注意,安裝NVIDIA驅動須要以root用戶登錄,因此利用命令sudo su進入root。輸入命令

bash NVIDIA-LINUX-X86_64-346.72.run --kernel-source-path=/usr/src/linux-headers-3.*.*

進行安裝。這裏的linux-headers-3.*.*是Linux系統源文件名。安裝過程當中有一些提示問題讓你回答,注意,當提示

The distribution-provided pre-install script failed!Are you sure you want to continue?

的時候不用管,繼續安裝就好了,這個問題我至今沒明白是什麼緣由致使的,但這不影響後續安裝及使用。當提示

Would you like to register the kernel module sources with DKMS?This will allow DKMS to auomatically build a new module,if you install a different kernel later

的時候,回答No。

三、最好再執行命令

sudo apt-get install linux-image-extra-virtual 

不然後續可能會出現以下錯誤提示:

modprobe: ERROR: could not insert'nvidia':Unknown symbolinmodule,or unknown parameter(see dmesg)

四、執行sudo /etc/init.d/lightdm start並重啓電腦。重啓後可能會產生分辨率問題,只須要更改/etc/X11/xorg.conf文件以下:

Section 'Monitor'
**
**
HorizSync       31.5 - 61.0
VertRefresh     50.0 - 75.0
**
**
Section 'Screen'
Modes      "800x600@72" "800x600@75" "800x600@56" "800x600@60" "640x480@75" "832x624@75" "640x480@72" "1024x768@75" "640x480@60" "1024x768@70" "1024x768@60" "1280x960@60"
EndSubSection

 

(四)cuda7.0安裝

 注意,caffe推薦安裝最新版NVIDIA驅動,因此cuda內置的驅動咱們就不須要安裝了,cuda的安裝徹底按照官網教程進行,過程比較簡單,這裏再也不贅述,若有問題能夠留言咱們相互討論。但注意一點是安裝完成以後須要修改環境變量,只需在/etc/ld.so.conf.d/下新建一個cuda.conf文件,將cuda庫路徑(默認是/usr/local/cuda-7.0/lib64)加入以後保存便可。

 

(五)MKL的安裝

caffe所須要的blas咱們安裝mkl,雖然mkl的下載稍微有點麻煩,但安裝起來仍是很快的。下載的時候只須要在官網申請學生免費版,用你的郵箱註冊以後會自動收到下載指南以及一個lic註冊文件,按照指示下載便可,安裝也較爲簡單,這裏只提幾點注意事項:

一、一個mkl安裝文件能夠同時被幾個用戶使用,因此沒必要重複下載。

二、安裝的時候必須將安裝包放置在Ubuntu可以識別的文件系統中,推薦~/,不然沒法執行.sh腳本文件。

三、安裝以後須要把mkl庫路徑(/opt/intel/lib以及/opt/intel/mkl/lib/intel64)加入環境變量。

 

(六)若是要使用Python接口,那麼還須要另外安裝一些Python庫文件(Ubuntu自帶Python不能知足咱們的須要)

sudo apt-get install python-numpy python-scipy python-dev

 

(七)若是須要使用matlab接口,那麼推薦新版本的matlab好比R2013a/b,R2014a/b等,我安裝的R2014b,沒任何問題。

 

(八)編譯配置caffe

下載caffe文件並解壓至某一目錄caffe-root,注意修改makefile文件當中的一些路徑。執行一下命令

cd caffe-root/caffe-master
cp Makefile.config.example Makefile.config
make all
make test
make runtest

 

在make編譯過程當中會遇到一些問題,多是由caffe自己文件兼容性問題形成的,好比:

一、提示make:protoc:命令未找到,這是由於protoc未安裝,只需安裝就行。

sudo apt-get install protobuf-c-compiler protobuf-compiler

二、提示「src/caffe/util/math_functions.cu(140):errot:calling a host function("std::signbit")from a globalfunction("caffe::sgnbit kernel")is not allowed」,

修改./include/caffe/util/math_functions.hpp 224行

刪除(註釋):using std::signbit

修改:DEFINE_CAFFE_CPU_UNARY_FUNC(sgnbit, y[i] = signbit(x[i]));

爲:DEFINE_CAFFE_CPU_UNARY_FUNC(sgnbit, y[i] = std::signbit(x[i]));

這是Yangqing Jia給出的解決方案,目前只有這一種方法。

我在編譯的時候只對於某些版本的caffe會遇到狀況2,對於第一個問題只要你按照前面的步驟作了應該不會出現的。雖然裝這個花了好幾天,不過總算是本身的努力換來了回報,但願caffe之後能優化的更完美,不要再在編譯的時候趕上這麼多麻煩,對於初學者是很不利的。但願你們共同窗習,共同進步吧!

相關文章
相關標籤/搜索