ubuntu16.04 配置caffe(GPU)環(huán)境(無anaconda)+錯誤解決

1 安裝 NVIDIA 、CUDA 伤哺、CUDNN (版本搭配)
參考: http://www.reibang.com/p/ea8d69fa9cb1
2移除python2.7默認版本(可選)
移除python2.7默認版本

3.從源代碼編譯Opencv
參考:
https://blog.csdn.net/qq_34650787/article/details/80246521
4 燎斩。編譯caffe
(1)下載源碼 (2種版本都可)
1.git clone https://github.com/BVLC/caffe.git
2.git clone https://github.com/weiliu89/caffe/tree/ssd
(2)安裝caffe環(huán)境依賴

1.sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev
libopencv-dev libhdf5-serial-dev protobuf-compiler
2. sudo apt-get install --no-install-recommends libboost-all-dev
3. sudo apt-get install libatlas-base-dev python-dev
4. sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

(2)解壓后修改   Makefile.config文件

            cp Makefile.config.example Makefile.config

下面為我的Makefile.config文件
Makefile.config

(3)下載python 環(huán)境依賴包 :
去到 caffe根目錄中的python目錄中運行:

pip3 install -r requirements.txt

(4)設(shè)置系統(tǒng)python環(huán)境

vim ~/.bashrc
export PYTHONPATH="/home/james/caffe-ssd/python"

5 九昧、編譯caffe
在caffe根目錄中依次運行下面代碼 ( -j32 是電腦的核數(shù))根據(jù)自己電腦選擇
如果出錯找到解決辦法后 make clean 重新編譯

make all -j32
make test -j32
make pycaffe
make runtest -j32

**6 、所遇到的問題及解決的辦法:
(1)******caffe 錯誤總結(jié) “/usr/bin/ld: 找不到 -lopencv_imgcodecs”
*opencv 版本問題
https://blog.csdn.net/xw2017/article/details/85230744
https://blog.csdn.net/Dillon2015/article/details/79858116
(2)make caffe (runtest)出現(xiàn)
Makefile:523: recipe for target 'runtest' failed
make: *** [runtest] Error 1
解決方法 : export MKL_CBWR=AUTO
(3)make caffe (runtest)出現(xiàn)
*cuda 版本不合適()或是makefire.config文件中有關(guān)cuda能力的內(nèi)容問題

F0710 15:55:12.340016  4580 test_gradient_based_solver.cpp:80] Check failed: error == cudaSuccess (35 vs. 0)  CUDA driver version is insufficient for CUDA runtime version
    *** Check failure stack trace: ***
        @     0x7fdd1ca525cd  google::LogMessage::Fail()
        @     0x7fdd1ca54433  google::LogMessage::SendToLog()
        @     0x7fdd1ca5215b  google::LogMessage::Flush()
        @     0x7fdd1ca54e1e  google::LogMessageFatal::~LogMessageFatal()
        @           0x5108e3  caffe::GradientBasedSolverTest<>::TestLeastSquaresUpdate()

-1 查看自己電腦顯卡算力:
https://blog.csdn.net/goodxin_ie/article/details/89057095
-2 Ubuntu16.04下cuda和cudnn的卸載和升級
https://blog.csdn.net/wanzhen4330/article/details/81704474
**(4)caffe安裝時make runtest出錯,有關(guān)libcudart.so.10.0的問題

.build_release/tools/caffe
.build_release/tools/caffe: error while loading shared libraries: libcudart.so.10.0: cannot open shared object file: No such file or directory
make: *** [runtest] 錯誤 127 

解決辦法::http://www.reibang.com/p/cf5d59826d60

     將cuda的bin文件和lib導出到系統(tǒng)環(huán)境中风宁,版本不一樣則更換其中cuda-x.x
    export PATH="/usr/local/cuda-10.0/bin:$PATH" 
    export LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH"
    或者
    vi ~/.bashrc
    export PATH="/usr/local/cuda-10.0/bin:$PATH" 
    export LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH"
    source ~/.bashrc
    所需的libcudart.so.8.0如果正確安裝的話,以下兩種方法同理:

    sudo ldconfig /usr/local/cuda-8.0/lib64
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
    如果仍然不行蛹疯,再嘗試執(zhí)行:

    export PATH=\$PATH:/usr/local/cuda-8.0/bin 
    export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-8.0/lib64 
    source /etc/profile

**(5)CUDA報錯: Cannot create Cublas handle. Cublas won't be available. 以及:Check failed: status == CUBLAS_STATUS_SUCCESS (1 vs. 0) CUBLAS_STATUS_NOT_INITIALIZED
解決方法:https://www.bbsmax.com/A/n2d9Y0avdD/
**(6)make all 報錯:

    AR -o .build_release/lib/libcaffe.a
    LD -o .build_release/lib/libcaffe.so.1.0.0-rc3
    /usr/bin/ld: cannot find -lhdf5_hl
    /usr/bin/ld: cannot find -lhdf5
    collect2: error: ld returned 1 exit status
    Makefile:566: recipe for target '.build_release/lib/libcaffe.so.1.0.0-rc3' failed
    make: *** [.build_release/lib/libcaffe.so.1.0.0-rc3] Error 1

解決辦法:然后修改Makefile 文件(注意不是)Makefile.config 將里面的
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改為: LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
**(7)make py 報錯:
/usr/bin/ld: cannot find -lboost_python3
collect2: error: ld returned 1 exit status
Makefile:501: recipe for target 'python/caffe/_caffe.so' failed

解決辦法〗洳啤: 設(shè)置numpy路徑
python 
import numpy as np
np.__file__

**(8)Ubuntu安裝Caffe .build_release/tools/caffe: error while loading shared libraries: libcudart.so.10.0

執(zhí)行

sudo cp /usr/local/cuda-10.0/lib64/libcudart.so.10.0 /usr/local/lib/libcudart.so.10.0 && sudo ldconfig
sudo cp /usr/local/cuda-10.0/lib64/libcublas.so.10.0 /usr/local/lib/libcublas.so.10.0 && sudo ldconfig
sudo cp /usr/local/cuda-10.0/lib64/libcurand.so.10.0 /usr/local/lib/libcurand.so.10.0 && sudo ldconfig

**(9)
Ubuntu安裝Caffe .build_release/tools/caffe: error while loading shared libraries: libcudnn.so.7
執(zhí)行

sudo cp /usr/local/cuda-10.0/lib64/libcudnn.so.7 /usr/local/lib/libcudnn.so.7 && sudo ldconfig

**(10)import caffe出錯  :

Ubuntu 16.04下安裝Caffe解決 undefined symbol: _ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE

Google該錯誤,發(fā)現(xiàn)原因是boost_python的版本不匹配捺弦,默認python版本為3.5饮寞,而boost_python為2.7孝扛。
解決方法:
先在系統(tǒng)的/usr/lib/x86_64-linux-gnu/路徑下查找boost_python文件的版本是否與python版本匹配,我的電腦中文件名為:
libboost_python-py35.so.1.58.0
說明版本為python3.5幽崩,匹配苦始。若不匹配則安裝對應(yīng)的boost_python版本。
接下來打開Caffe文件夾下的Makefile文件慌申,將第208行的

PYTHON_LIBRARIES := boost_python python2.7
改為

PYTHON_LIBRARIES := boost_python-py35  #py35需要改為你自己的python版本陌选,如py34,py33

接著重新編譯文件:

 make clean     
 sudo ldconfig   
 make caffe    
 make all  
 make test     
 make pycaffe  
 make runtest
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蹄溉,隨后出現(xiàn)的幾起案子咨油,更是在濱河造成了極大的恐慌,老刑警劉巖柒爵,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件役电,死亡現(xiàn)場離奇詭異,居然都是意外死亡棉胀,警方通過查閱死者的電腦和手機法瑟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來唁奢,“玉大人瓢谢,你說我怎么就攤上這事⊥郧疲” “怎么了氓扛?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長论笔。 經(jīng)常有香客問我采郎,道長,這世上最難降的妖魔是什么狂魔? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任蒜埋,我火速辦了婚禮,結(jié)果婚禮上最楷,老公的妹妹穿的比我還像新娘整份。我一直安慰自己,他們只是感情好籽孙,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布烈评。 她就那樣靜靜地躺著,像睡著了一般犯建。 火紅的嫁衣襯著肌膚如雪讲冠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天适瓦,我揣著相機與錄音竿开,去河邊找鬼谱仪。 笑死,一個胖子當著我的面吹牛否彩,可吹牛的內(nèi)容都是我干的疯攒。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼列荔,長吁一口氣:“原來是場噩夢啊……” “哼卸例!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起肌毅,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤筷转,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后悬而,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呜舒,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年笨奠,在試婚紗的時候發(fā)現(xiàn)自己被綠了袭蝗。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡般婆,死狀恐怖到腥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蔚袍,我是刑警寧澤乡范,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站啤咽,受9級特大地震影響晋辆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宇整,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一瓶佳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鳞青,春花似錦霸饲、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至埃儿,卻和暖如春器仗,著一層夾襖步出監(jiān)牢的瞬間融涣,已是汗流浹背童番。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工精钮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人剃斧。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓轨香,卻偏偏與公主長得像,于是被迫代替她去往敵國和親幼东。 傳聞我的和親對象是個殘疾皇子臂容,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

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