Caffe 安裝與測試(包含CUDA)

設備:

Ubuntu 16.04

python 2.7(anaconda) python —version

cuda 9.0 nvcc -V

cuDNN 7101 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

openCV 2.4.9.1 pkg-config --modversion opencv

caffe主頁:

http://caffe.berkeleyvision.org/installation.html#compilation

主要步驟:

安裝依賴包

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

2. 安裝CUDA

官方:https://developer.nvidia.com/cuda-downloads

參考: ?https://blog.csdn.net/u012235003/article/details/54575758/

2.1 檢查GPU的信息

lspci | grep -i nvidia

2.2 檢查是否安裝gcc

gcc - - version

2.3 檢查kernel版本

sudo apt-get install linux-headers-$(uname -r)

2.4 禁用nouveau 第三方顯卡驅動

2.4.1? 檢查nouveau運行狀態(tài)

lsmod | grep nouveau

2.4.2 在/etc/modprobe.d 中創(chuàng)建黑名單blacklist-nouveau.conf

sudo? touch? blacklist-nouveau.conf

sudo? chmod a+w+r blacklist-nouveau.conf? (給文件可讀可寫的權限)

vim blacklist-nouveau.conf

文件內容是:

blacklist nouveau

options nouveau modeset=0

2.4.3 運行命令

sudo update-initramfs -u

2.4.4 重啟設備

2.4.5 檢查nouveau運行狀態(tài)

2.5 下載CUDA


https://developer.nvidia.com/cuda-downloads

選擇runfile下載[注:之后可以按照官網安裝方式安裝CUDA]

2.6 安裝依賴包

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

2.7 開始安裝

2.7.1.重啟電腦 在進入到登錄界面時候,按住Ctrl+Alt+F1芯勘,進入到text mode床牧,登錄賬號 2.7.2.關閉圖形界面 終端命令:

sudo service lightdm stop

2.7.3.切換到cuda文件目錄 cd到下載好的cuda目錄侦高,例如我的cuda包在/home/tony/cuda中 再ls查看cuda名字 2.7.4.給cuda可執(zhí)行的權限

sudo chmod a+x cuda_7.5.18_linux.run

2.7.5.安裝步驟

sudo sh cuda_7.5.18_linux.run

(a)會先有個閱讀聲明习霹,一直按D即可碴萧,然后accept (b)第一個選項install nvidia accelerated Graphics Driver (y) (c)第二個選項install the OpenGL libraries 雙顯卡(指的是集成顯卡+獨立顯卡)選n囱嫩,單卡(如果沒有集成顯卡苦蒿,只有一個或多個支持GPU的顯卡)選y沾谓。雙顯卡選y的話委造,會出現黑屏或登錄界面無限循環(huán)的問題。 (d)后面的選項都是yes均驶,或者按默認路徑即直接按回車即可争涌。?

2.7.6.若出現下列顯示 上面無警告和報錯

Driver :Installed

Toolkit :Installed in /usr/local/cuda-7.5

Samples :Installed in /home/tony

即安裝暫時成功。

2.7.7.輸入

sudo service lightdm start

重新啟動圖形化界面 Alt + ctrl +F7辣恋,返回到圖形化登錄界面亮垫,輸入密碼登錄模软。 如果能夠成功登錄,則表示不會遇到循環(huán)登錄的問題饮潦,基本說明cuda的安裝成功了燃异。

2.7.8.搭配環(huán)境 終端輸入

echo 'export PATH=/usr/local/cuda-7.5/bin:$PATH' >> ~/.bashrc

echo 'export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc

source ~/.bashrc

重啟ubuntu

2.8 測試cuda安裝結果

2.8.1.檢查路徑 ~/dev 下 有無存在名為 nvidia* (以nvidia開頭)的多個文件(device files) 若無,安裝錯誤继蜡,見解決篇回俐。?

2.8.2.檢查 CUDA Toolkit是否安裝成功 終端輸入 :

nvcc -V

會輸出CUDA的版本信息(V要大寫)?

2.8.3.編譯samples例子 進入到Samples安裝目錄,然后在該目錄下終端輸入make稀并,等待十來分鐘仅颇。?

2.8.4.編譯完成后測試 可以在Samples里面找到bin/x86_64/linux/release/目錄,并切換到該目錄 運行deviceQuery程序碘举,sudo ./deviceQuery 查看輸出結果忘瓦,重點關注最后一行,Pass表示通過測試

3 安裝BLAS

conda install blas

4 安裝些奇怪的東西(gflag引颈, glog耕皮, lmdb)

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

# glog

wget https://github.com/google/glog/archive/v0.3.3.tar.gz

tar zxvf v0.3.3.tar.gz

cd glog-0.3.3

./configure

make && make install

# gflags

wget https://github.com/schuhschuh/gflags/archive/master.zip

unzip master.zip

cd gflags-master

mkdir build && cd build

export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1

make && make install

# lmdb

git clone https://github.com/LMDB/lmdb

cd lmdb/libraries/liblmdb

make && make install

5 下載Caffe

https://github.com/BVLC/caffe

6 編譯Caffe

cp Makefile.config.example Makefile.config

# Adjust Makefile.config (for example, if using Anaconda Python, or if cuDNN is desired)

make all

make test

make runtest

7 遇到的典型問題匯總

7.1 Compile Caffe 時vcc fatal : Unsupported gpu architecture 'compute_20'

解決辦法:

將Makefile.config中不支持的CUDA_ARCH注釋掉

7.2 cannot find hdf5

解決辦法:

在Makefile.config中

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/includeLIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

修改為:

INCLUDE_DIRS :=? $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serialLIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

//這是因為ubuntu16.04的文件包含位置發(fā)生了變化,尤其是需要用到的hdf5的位置蝙场,所以需要更改這一路徑然后:

cd /usr/lib/x86_64-linux-gnu

軟鏈接:

sudo ln -s libhdf5_serial.so.10.1.0 libhdf5.so

sudo ln -s libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so


7.3 在make runtest 的時候遇到段錯誤 core dumped

查看warning信息:

Warning! ***HDF5 library version mismatched error***

The HDF5 header files used to compile this application do not match the version used by the HDF5 library to which this application is linked.Data corruption or segmentation faults may occur if the application continues.

This can happen when an application was compiled by one version of HDF5 but linked with a different version of static or shared HDF5 library.

You should recompile the application or check your shared library related settings such as 'LD_LIBRARY_PATH'.

You can, at your own risk, disable this warning by setting the environment variable 'HDF5_DISABLE_VERSION_CHECK' to a value of ‘1'. Setting it to 2 or higher will suppress the warning messages totally. Headers are 1.10.2, library is 1.8.16

故障分析:

由于安裝了anaconda凌停,在安裝包的過程中,出現了兩個版本的HDF5售滤,發(fā)生沖突罚拟。

解決辦法:

step 1.給anaconda賦權,(一開始由于未賦予足夠權限完箩,導致了刪除赐俗、更新包過程出現錯誤),

sudo chmod -R 777 anaconda2/

step 2. 將anaconda中hdf5版本改變到系統(tǒng)對應版本

conda install -c anaconda hdf5=1.8.16

即更新下列包:

h5py: 2.8.0-py27h989c5e5_3 --> 2.6.0-np111py27_1

hdf5:? 1.10.2-hba1933b_1? ? --> 1.8.16-0? ? ? ?

numpy: 1.15.1-py27h1d66e8a_0 --> 1.11.3-py27hcd700cb_6

pytables: 3.4.4-py27ha205bf6_0? --> 3.2.2-np111py27_4? ?

scipy:? ? 1.1.0-py27hfa4b5c9_1? --> 1.1.0-py27hd20e5f9_0

【注】論壇https://www.cnblogs.com/platero/p/4077934.html提供的解決方案是錯的


Error-7.3 差不多花了我5個小時嗜憔,中間解決思路錯了秃励,多費了很多無用功氏仗,好在最后Mission Complete吉捶!


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市皆尔,隨后出現的幾起案子呐舔,更是在濱河造成了極大的恐慌,老刑警劉巖慷蠕,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件珊拼,死亡現場離奇詭異,居然都是意外死亡流炕,警方通過查閱死者的電腦和手機澎现,發(fā)現死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門仅胞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人剑辫,你說我怎么就攤上這事干旧。” “怎么了妹蔽?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵椎眯,是天一觀的道長。 經常有香客問我胳岂,道長编整,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任乳丰,我火速辦了婚禮掌测,結果婚禮上,老公的妹妹穿的比我還像新娘成艘。我一直安慰自己赏半,他們只是感情好,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布淆两。 她就那樣靜靜地躺著断箫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪秋冰。 梳的紋絲不亂的頭發(fā)上仲义,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天,我揣著相機與錄音剑勾,去河邊找鬼埃撵。 笑死,一個胖子當著我的面吹牛虽另,可吹牛的內容都是我干的暂刘。 我是一名探鬼主播,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼捂刺,長吁一口氣:“原來是場噩夢啊……” “哼谣拣!你這毒婦竟也來了?” 一聲冷哼從身側響起族展,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤森缠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后仪缸,有當地人在樹林里發(fā)現了一具尸體贵涵,經...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了宾茂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓷马。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖跨晴,靈堂內的尸體忽然破棺而出决采,到底是詐尸還是另有隱情,我是刑警寧澤坟奥,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布树瞭,位于F島的核電站,受9級特大地震影響爱谁,放射性物質發(fā)生泄漏晒喷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一访敌、第九天 我趴在偏房一處隱蔽的房頂上張望凉敲。 院中可真熱鬧,春花似錦寺旺、人聲如沸爷抓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蓝撇。三九已至,卻和暖如春陈莽,著一層夾襖步出監(jiān)牢的瞬間渤昌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工走搁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留独柑,地道東北人。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓私植,卻偏偏與公主長得像忌栅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子曲稼,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內容