Ubuntu14.04 Caffe安裝

爲了使用caffe,特地裝了linux系統,版本:Ubuntu14.04
自己對linux一竅不通,安裝過程基本是按照這個博客進行的。
http://www.cnblogs.com/platero/p/3993877.html


第一步:
電腦沒有獨立顯卡,所以沒有安裝cuda


第二步:
原博主使用的是MKL,但我圖省事,沒有安裝MKL,而是用了atlas,一句命令搞定
sudo apt-get install libatlas-base-dev


第三步:
opencv部分,用了https://github.com/jayrambhia/Install-OpenCV的ubuntu下的opencv-2.4.9的腳本
這裏直接執行腳本的話,除了錯誤比較難以定位,所以我是把裏面的命令一句一句手動執行的


其中遇到了下面幾個問題:
sudo apt-get -y install libopencv-dev提示需要依賴項,
改用sudo aptitude install libopencv-dev
因爲沒有aptitude,先安裝 sudo apt-get install aptitude


sudo apt-get -y install x264 v4l-utils ffmpeg
這一步因爲找不到ffmpeg而中斷


一般找不到包,就到下面的網址搜索,看哪個鏡像上有這個源,添加到source裏面就可以了
http://packages.ubuntu.com/


搜索ffmpeg,Distribution選any,因爲可能是沒有trusty的資源
然後添加鏡像,
sudo gedit /etc/apt/sources.list
在sources.list裏面加一行deb http://cn.archive.ubuntu.com/ubuntu vivid main universe
然後更新源
sudo apt-get update


然後sudo apt-get -y install x264 v4l-utils ffmpeg就可以了




搞定這三個比較麻煩的依賴項後,繼續安裝opencv


編譯opencv的時候,腳本原有的代碼是:
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
這裏我去掉了-D WITH_QT=ON,因爲我沒有裝QT,但是需要加上-D BUILD_TIFF=ON,否則編譯caffe的時候會有這樣的錯誤
/usr/lib/libopencv_highgui.so.2.4: undefined reference to TIFFRGBAImageOK@LIBTIFF_4.0' 1> 


編譯過程如下:
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D BUILD_TIFF=ON -D WITH_OPENGL=ON..
make -j4
sudo make install
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig


第四步:
安裝其他依賴項,沒什麼問題
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler


第五步:
編譯caffe:
開始出現了這個錯誤:
./include/caffe/util/io.hpp:8:18: fatal error: hdf5.h: 沒有那個文件或目錄
這裏是因爲沒有按照hdf5庫,因爲這個庫在anaconda裏面已經有了,需要配置系統路徑。
在~/.bashrc文件裏面添加
LD_LIBRARY_PATH=youranacondapath/lib:LD_LIBRARY_PATH
export LD_LIBRARY_PATH
記住啊,youranacondapath替換成你自己的anaconda安裝的路徑,否則就太二了,我自己就犯了一次二.....


然後出現了這個錯誤
/usr/lib/libopencv_highgui.so.2.4: undefined reference to TIFFRGBAImageOK@LIBTIFF_4.0' 1> 
/usr/lib/libopencv_highgui.so.2.4: undefined reference toTIFFReadRGBAStrip@LIBTIFF_4.0'
解決方式前面說了,就是編譯opencv的時候要加上 -D BUILD_TIFF=ON


然後又出現了這個錯誤,這個錯誤曾讓我苦惱了兩天,還因此把系統搞崩潰一次....不得不重裝
最後還是多虧了最開頭提到的博客以及熱心網友 _無聲的雨  的幫助,非常感謝,當代活雷鋒啊!
//usr/lib/x86_64-linux-gnu/libx264.so.142:對‘__exp_finite@GLIBC_2.15’未定義的引用
//usr/lib/x86_64-linux-gnu/libx264.so.142:對‘__log10_finite@GLIBC_2.15’未定義的引用
//usr/lib/x86_64-linux-gnu/libxvidcore.so.4:對‘__logf_finite@GLIBC_2.15’未定義的引用
//usr/lib/x86_64-linux-gnu/libvorbis.so.0:對‘__acosf_finite@GLIBC_2.15’未定義的引用


解決方法:如果你裝了anaconda包的話,刪除anaconda/lib/下面的 libm
sudo rm -rf libm*


最後編譯成功,哈哈。
make all
make test


最後一步
make runtest


有錯誤
.build_release/test/test_all.testbin 0 --gtest_shuffle --gtest_filter="-*GPU*"
.build_release/test/test_all.testbin: error while loading shared libraries: libhdf5_hl.so.8: cannot open shared object file: No such file or directory
make: *** [runtest] 錯誤 127


這裏按照開頭提到的博客中紅字的兩段就能搞定
其實就是在LD_LIBRARY_PATH裏面添加anaconda的路徑,前面已經做過了。但因爲我編譯caffe時候用的是自己的用戶,後來make runtest的時候用了root用戶,兩個用戶從~/.bashrc不是一個,所以我索性兩個都添上了。


好了,折騰了一週,裝了兩次系統,終於把caffe安裝好了,接下來就是學習怎麼使用了。
最後還是要謝謝這位博主:普兒,以及這位熱心網友:_無聲的雨 
是你們讓我感受的社會的溫暖,一次又一次把我崩潰的心靈拯救回來,讓我體會到了人間有真情。
要是哪位讀者去這個博客看看,就能看到我在留言裏問的各種小白問題了,哈哈。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章