零錯誤安裝基於ubuntu14.04LTS的CUP版本深度學習框架Caffe

深度學習這麼火,對於有幸從事機器學習的我而言激動不已,無奈caffe安裝較爲繁瑣,加之硬件條件的限制,使得自己不得不對其望而卻步。不過google的一款深度學習框架tensorflow安裝較爲簡單,在Windows下之間pip install tensorflow即可完成安裝,然後在eclipse中進行基於tensorflow的開發了。本人先從簡單的開始,先在windows下安裝tensorflow並進行學習,用其做了幾個VGG、CNN、驗證碼識別等幾個簡單例子後,對其差不多已經瞭解,故而這幾天想轉戰caffe。

本人選擇使用ubuntu14.04,因爲其穩定,而且遇到錯誤在網上的解答也比較多,整個安裝過程不到一天時間(安裝很簡單,主要是安裝或者編譯過程花的時間比較長),也沒有遇到什麼大的錯誤,整體而言很順利,主要是參考了http://www.th7.cn/system/lin/201605/165973.shtml這篇博客。寫的比較詳細,不過其部分代碼一步到位,會導致出錯,本人根據安裝經驗重新進行整理,部分安裝步驟根據該博客來的,只是對出錯的地方進行了修改。希望幫助大家早日安裝好。

1、安裝vm虛擬機,ubuntu的安裝鏡像地址共享給大家http://pan.baidu.com/s/1jIBjPuY ,安裝完後首先確保虛擬機可以上網!!!
2、打開終端安裝必要的環境,依次執行如下命令:

sudo apt-get update #更新軟件列表 
sudo apt-get upgrade #更新軟件 
sudo apt-get install build-essential
3、去英偉達官網下載,網址如下:https://developer.nvidia.com/cuda-downloads

(不要在Windows下載後在複製到虛擬機,直接在虛擬機打開網頁後收入網址進行下載)
4、下載完後,進入下載目錄執行:

sudo sh cuda_7.5.18_linux.run#(cuda_7.5.18_linux.run是下載的文件名)
5、第四步的安裝過程比較長,安裝過程會顯示最終用戶許可協議(EULA),很長,可以按‘q’退出閱讀,然後安裝的時候不要安裝顯卡驅動,具體如下:


6、安裝完後進行執行:
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib' >> ~/.bashrc source ~/.bashrc
7、安裝相關庫:
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler gfortran libjpeg62 libfreeimage-dev libatlas-base-dev git python-dev python-pip libgoogle-glog-dev libbz2-dev libxml2-dev libxslt-dev libffi-dev libssl-dev libgflags-dev liblmdb-dev python-yaml

sudo easy_install pillow
或者 pip3 install pillow
8、下載caffe
cd ~ #進入主目錄

git clone https://github.com/BVLC/caffe.git
然後在當前目錄下就會看到下載的caffe,通過ls命令查看。
9、安裝python支持(該過程持續時間很長,我安裝的時候參考的博客把第三和第四行代碼合併爲一行,執行執行會出錯。大家按照我的一行一行代碼執行就行)
cd caffe
cat python/requirements.txt | xargs -L 1 sudo pip install
sudo ln -s /usr/include/python2.7/ /usr/local/include/python2.7
sudo ln -s /usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy/ /usr/local/include/python2.7/numpy

10、修改Makefile.config
cp Makefile.config.example Makefile.config

然後用vi或者其他編輯器修改Makefile.config文件,找到 # CPU_ONLY: = 1這一行,把這一行前面的註釋 。然後在找到PYTHON_INCLUDE,把原來的/usr/lib/python2.7/dist-packages/numpy/core/include改爲/usr/local/lib/python2.7/dist-packages/numpy/core/include即可。
11、編譯caffe(編譯時間相對比較長,一行一行執行就好,我在編譯的時候出錯,如果出錯,執行make clean,然後在從頭開始重新編譯)
make all -j2 #2代表啓用2各線程同時編譯
make test
make runtest
make pycaffe   
make distribute
如果編譯過程報錯:AR -o .build_release/lib/libcaffe.aLD -o .build_release/lib/libcaffe.so.1.0.0/usr/bin/ld:
 cannot find -lhdf5_hl/usr/bin/ld: cannot find -lhdf5collect2: error: ld returned 1 exit statusMakefile:572:
recipe for target '.build_release/lib/libcaffe.so.1.0.0' failedmake: *** [.build_release/lib/libcaffe.so.1.0.0]
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
Makefile.config文件的第85行
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 
改爲:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/

這時候cd 到caffe 下的 python 目錄,試試caffe 的 python wrapper安裝好沒有: 

python
import caffe

如果不報錯,那就說明安裝好了。


測試:

cd $CAFFE_ROOT
./data/mnist/get_mnist.sh
./examples/mnist/creat_mnist.sh
./examples/mnist/train_lenet.sh



到此安裝完成,現在就可以開心的玩深度學習了!!!




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