ubuntu16.04 cuda8.0 cudnn6.0 opencv3.2編譯安裝caffe

1菩掏,安裝NVIDIA 顯卡

根據(jù)自己的顯卡驅(qū)動(dòng) 選擇對應(yīng)的版本(我的NVIDIA-Linux-x86_64-384.69.run)

官網(wǎng)下載地址:www.nvidia.cn/Download/index.aspx

安裝步驟:

cd ~/Downloads

chmod +x? NVIDIA-Linux-x86_64-384.69.run

sudo service lightdm stop

ctrl+alt+f1進(jìn)入字符界面

sudo ./NVIDIA-Linux-x86_64-384.69.run -no-opengl-files -no-x-check -no-nouveau-check

安裝好之后 sudo rm /etc/X11/xorg.conf?? ~/.Xauthority (防止linux登陸界面無限循環(huán)或者分辨率不對)

sudo service lightdm start

回到桌面

輸入nvidia-smi 輸出如下:則安裝成功

2.安裝CUDA8.0

cuda8.0下載地址

1.下載完之后:sudo sh cuda_8.0.27_linux.run

sudo gedit /etc/profile

打開“profile”文件魂角,在末尾處添加(注意不要有空格,不然會(huì)報(bào)錯(cuò)):

export PATH=/usr/local/cuda-8.0/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

2.重啟電腦:

sudo reboot

3,測試

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery

輸出是GPU的信息說明安裝成功

3患蹂,安裝cudnn6.0

cudnn下載

下載完成之后解壓到指定目錄

tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz -C ../cudnn/

把下載好的cudnn.h文件和lib文件分別拷貝到cuda對應(yīng)的路徑下面。

sudo cp ~/cudnn/cuda/include/cudnn.h? /usr/local/cuda/include

sudo cp ~/cudnn/cuda/lib64/lib*?? /usr/local/cuda/lib64/

做個(gè)鏈接 不然后面caffe make test 會(huì)報(bào)鏈接共享庫錯(cuò)誤的問題

ln -sf ~/cudnn/cuda/lib64/libcudnn.so.6 /usr/local/cuda/lib64/

4砸紊,opencv(包含contrib模塊)編譯安裝 (直接建一個(gè)shell文件運(yùn)行即可完成自動(dòng)編譯安裝)

cd$HOME

sudo apt-get install -y \

libglew-dev \

libtiff5-dev \

zlib1g-dev \

libjpeg-dev \

libpng12-dev \

libjasper-dev \

libavcodec-dev \

libavformat-dev \

libavutil-dev \

libpostproc-dev \

libswscale-dev \

libeigen3-dev \

libtbb-dev \

libgtk2.0-dev \

cmake \

pkg-config

#Python 2.7

sudo apt-get install -y python-dev python-numpy python-py python-pytest -y

#GStreamer support

sudo apt-get install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

git clone https://github.com/opencv/opencv.git

cd opencv

git checkout -b v3.2.0 3.2.0

#This is for the test data

cd$HOME

git clone https://github.com/opencv/opencv_extra.git

cd opencv_extra

git checkout -b v3.2.0 3.2.0

cd$HOME/opencv

mkdir build

cd build

cmake \

-DCMAKE_BUILD_TYPE=Release \

-DCMAKE_INSTALL_PREFIX=/usr \

-DBUILD_PNG=OFF \

-DBUILD_TIFF=OFF \

-DBUILD_TBB=OFF \

-DBUILD_JPEG=OFF \

-DBUILD_JASPER=OFF \

-DBUILD_ZLIB=OFF \

-DBUILD_EXAMPLES=ON \

-DBUILD_opencv_java=OFF \

-DBUILD_opencv_python2=ON \

-DBUILD_opencv_python3=OFF \

-DENABLE_PRECOMPILED_HEADERS=OFF \

-DWITH_OPENCL=OFF \

-DWITH_OPENMP=OFF \

-DWITH_FFMPEG=ON \

-DWITH_GSTREAMER=ON \

-DWITH_GSTREAMER_0_10=OFF \

-DWITH_CUDA=ON \

-DWITH_GTK=ON \

-DWITH_VTK=OFF \

-DWITH_TBB=ON \

-DWITH_1394=OFF \

-DWITH_OPENEXR=OFF \

-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-8.0 \

-DCUDA_ARCH_BIN=6.2 \

-DCUDA_ARCH_PTX=""\

-DINSTALL_C_EXAMPLES=ON \

-DINSTALL_TESTS=ON \

-DOPENCV_TEST_DATA_PATH=../opencv_extra/testdata \

../

#Consider using all 6 cores; $ sudo nvpmodel -m 2 or $ sudo nvpmodel -m 0

make -j4

編譯可能遇到的問題:cudalegacy/src/graphcuts.cpp:120:54: error: ‘NppiGraphcutState’ has not been declared

解決方案:需要修改一處源碼:

在graphcuts.cpp中將

#if?!defined?(HAVE_CUDA)?||?defined?(CUDA_DISABLER)

改為

#if?!defined?(HAVE_CUDA)?||?defined?(CUDA_DISABLER)?||?(CUDART_VERSION?>=?8000)

5,編譯安裝caffe

(1)將終端cd到要安裝caffe的位置传于。

(2)從github上獲取caffe:

git clone https://github.com/BVLC/caffe.git

(3)因?yàn)閙ake指令只能make

Makefile.config文件,而Makefile.config.example是caffe給出的makefile例子醉顽,因此沼溜,首先將Makefile.config.example的內(nèi)容復(fù)制到Makefile.config:

sudo? cp? Makefile.config.example? Makefile.config

(4)打開并修改配置文件:

sudo gedit Makefile.config #打開Makefile.config文件

根據(jù)個(gè)人情況修改文件:

a.若使用cudnn,則

將#USE_CUDNN := 1修改成: USE_CUDNN :=1

b.若使用的opencv版本是3的游添,則

將#OPENCV_VERSION := 3修改為: OPENCV_VERSION :=3

c.若要使用python來編寫layer系草,則

將#WITH_PYTHON_LAYER := 1修改為 WITH_PYTHON_LAYER :=1

d.重要的一項(xiàng):

將# Whatever else you find you need goes here.下面的

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

這是因?yàn)閡buntu16.04的文件包含位置發(fā)生了變化,尤其是需要用到的hdf5的位置唆涝,所以需要更改這一路徑.

(5)修改makefile文件

打開makefile文件找都,做如下修改:

將:NVCCFLAGS+= -ccbin=$(CXX) -Xcompiler -fPIC$(COMMON_FLAGS)替換為:NVCCFLAGS+=-D_FORCE_INLINES?? ?? -ccbin=$(CXX)? -Xcompiler? -fPIC$(COMMON_FLAGS)

(6)編輯/usr/local/cuda/include/host_config.h

將其中的第115行注釋掉:

將#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!改為//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

(7)編譯

make? all? -j8? #-j根據(jù)自己電腦配置決定

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市廊酣,隨后出現(xiàn)的幾起案子能耻,更是在濱河造成了極大的恐慌,老刑警劉巖亡驰,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晓猛,死亡現(xiàn)場離奇詭異,居然都是意外死亡凡辱,警方通過查閱死者的電腦和手機(jī)戒职,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來透乾,“玉大人洪燥,你說我怎么就攤上這事磕秤。” “怎么了蚓曼?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵亲澡,是天一觀的道長。 經(jīng)常有香客問我纫版,道長床绪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任其弊,我火速辦了婚禮癞己,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘梭伐。我一直安慰自己痹雅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布糊识。 她就那樣靜靜地躺著绩社,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赂苗。 梳的紋絲不亂的頭發(fā)上愉耙,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機(jī)與錄音拌滋,去河邊找鬼朴沿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛败砂,可吹牛的內(nèi)容都是我干的赌渣。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼昌犹,長吁一口氣:“原來是場噩夢啊……” “哼坚芜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起斜姥,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤货岭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后疾渴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體千贯,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年搞坝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了搔谴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,018評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡桩撮,死狀恐怖敦第,靈堂內(nèi)的尸體忽然破棺而出峰弹,到底是詐尸還是另有隱情,我是刑警寧澤芜果,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布鞠呈,位于F島的核電站,受9級(jí)特大地震影響右钾,放射性物質(zhì)發(fā)生泄漏蚁吝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一舀射、第九天 我趴在偏房一處隱蔽的房頂上張望窘茁。 院中可真熱鬧,春花似錦脆烟、人聲如沸山林。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽驼抹。三九已至,卻和暖如春拜鹤,著一層夾襖步出監(jiān)牢的瞬間框冀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工署惯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留左驾,地道東北人镣隶。 一個(gè)月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓极谊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親安岂。 傳聞我的和親對象是個(gè)殘疾皇子轻猖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容