caffe安裝指南_深度學習

來源:互聯網
上載者:User

其實caffe上的安裝已經介紹的很清楚,而且也不乏介紹caffe的文章,之所以寫這篇是因為這是一個中文版本的,再就是我在實驗室服務器安裝時遇到了很多問題,我覺得後來人可能會遇到,所以貼出來


Linux平台下的Caffe安裝指南

                                                                                          

1.   系統與許可權

適用平台有Ubuntu 14.04, Ubuntu 12.04, OSX 10.9, and OS X 10.8,安裝需要擷取root許可權

2.   依賴庫

a)        CUDA 6.5(推薦), 6.0, 5.5, 5.0 和對應CUDA驅動——實驗室服務器已安裝CUDA6.0 :CUDA_DIR :=/usr/local/cuda-6.0

b)       BLAS(ATLAS, MKL, OpenBLAS) 括弧裡面的三選一——實驗室已經安裝好ATLAS :ATLAS := /usr/lib64/atlas

c)        OpenCV 這個下面會有對應的安裝指令,無需配置路徑

d)       Boost 這個下面會有對應的安裝指令,無需配置路徑

e)        glog, gflags, protobuf,leveldb, snappy, hdf5, lmdb 這些下面會有對應的安裝指令,protobuf可能需要修改環境變數安裝

f)        Python (Python 2.7,numpy(>=1.7)) boost.python,假如不需要可視化的功能,Python是不需要關心的,雖然makefile的設定檔中需要提供python的路徑——實驗室已經安裝Python,numpy : PYTHON_INCLUDE := /usr/local/include/python2.7 \ /usr/local/lib/python2.7/site-packages/numpy/core/include/numpy

g)       MATLAB : 沒用上,網上瞄了到一句用HDF5可以結合MATLAB

h)       cuDNN Caffe 是NVDIA公司專門提供的CNN計算模組,效能據說最好,但是看了下不是顯著提高,此處不介紹如何使用。(需要向NVDIA申請,比較麻煩,不知道後面會不會開放)

 

不介紹只是用CPU計算的方法

3.   依賴庫的安裝

a)        跳過CUDA, BLAS, Python,MATLAB的配置需要注意的是,caffe源碼中,Makefile.config.example中,需要將BLAS:= 改為ATLAS :=

b)       其他依賴庫。實驗室服務器的系統是CentOS,所以輸入下面的指令來一次性安裝protobuf, leveldb,snappy, opencv, boost, hdf5

 

sudo yum install protobuf-develleveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel

 

但是需要注意的是,由於伺服器在訪問以上依賴庫的下載包會報錯(不知道是被牆了,還是因為平台資源的位置調整),出現錯誤資訊如下

No package protobuf-devel available.

Error: Nothing to do

所以最好一個個安裝,以觀察哪些依賴庫不能正確安裝,目前可以直接安裝好的依賴庫有snappy, opencv, boost,需要用其他方法安裝protobuf,leveldb, hdf5

protobuf: 下載protobuf,make編譯,然後要修改環境變數,對應的編譯錯誤關鍵字為proto-c

hdf5: 網上可以下到rpm安裝包,比較簡單無腦

leveldb:下載的地方很多,但是安裝很愁人。安裝參考http://blog.csdn.net/teethfairy/article/details/32089161其實就是拷貝include/leveldb到/usr/local/include 和對應的 .o 到/usr/local/bin

4.      編譯

a)        修改Makefile.config.example檔案中依賴庫的路徑,有CUDA, BLAS(要改名為ATLAS),Python

b)       執行cpMakefile.config.example Makefile.config

c)        執行make all& make test

 

編譯過程中出現的問題:libstdc++.so.6報錯的問題,我是重新安裝了libstdc++.so.6庫,按理說後面的人不會再遇到該問題了。

5.      測試MNIST資料庫

MNIST資料庫的Demo很有意思,通過教程的指令下載資料集,結果檔案名成了亂碼,還得去修改,至於修改成什麼檔案名稱,可以參考examples/mnist/create_mnist.sh指令碼,然後在examples/mnist下會出現兩個檔案夾,裡面分別放著訓練集和測試集,然後運行sh train_mnist.sh就可以了





%----------------------------------------------------2014 11 06 更新分割線 ---------------------------------------------------------%

樓主發現我之前總結的實在是太概括了,很多細節都沒說到,而且Glog與Gflag的安裝遇到的問題也沒有說,前幾天又安裝了一遍,問題更多,索性細枝末節全都記錄下來了


第一次安裝:

1. 解壓caffe-master.zip到cnn檔案夾

2. CUDA的位置 /usr/local/cuda-5.5

3. ATLAS的位置 /usr/lib64/atlas --- 會報錯:lcblas 庫找不到,修改Makefile.config最下面的LIBRARY_DIR 後面加上 /usr/lib64/atlas(這個問題是我實驗室服務器的問題,正常來說大家不會遇到,或者改環境變數就可以了)

4. Python的位置/usr/include/python2.6

/usr/lib64/python2.6/site-packages/numpy/core/include/numpy/

5. 安裝其他依賴庫-執行管理員權限

       5.1protobuf http://blog.csdn.net/zaitianaoxiang/article/details/7639125

              ./configure 如果出現Permission Denied 就在命令前面加 Bash

並沒有顯示  Libraries have beeninstalled in: 

/usr/local/lib

Head files hava been installed in:

/usr/local/include/google/protobuf/ 

              但是/usr/local/lib下已經有protobuf的庫了

       5.2leveldb http://blog.sina.com.cn/s/blog_560e310001015jfx.html

              照教程做會編譯報錯/usr/bin/ld: cannot find –lleveldb

              需要把對應的so檔案拷貝過去 libleveldb.so 到/usr/local/lib 下

       5.3hdf5 rpm –ivh filename

       5.4snappy opencv boost已經安裝好了

       5.5glog --- 這個貌似也是已經安裝好了的

              wgethttps://google-glog.googlecode.com/files/glog-0.3.3.tar.gz

tar zxvf glog-0.3.3.tar.gz

cd glog-0.3.3

./configure

make && make install

       5.6lmdb 先不裝試試---貌似已經安裝好了---出現的問題是找不到/usr/local/man 需要手動建立man檔案夾

       5.7gflag

              https://github.com/schuhschuh/gflags/releases下載安裝包

              解壓,開啟相應檔案夾

              開啟INSTALL.txt 按照教程做

                     1.Extract source files.

2. Create build directory and change to it.

3. Run CMake to configure the build tree.

4. Build the software using selected build tool.

5. Test the built software.

6. Install the built files.

……(下面會出現ccmake .. 命令)

                     會出現CMake版本要求達不到的問題,換個低版本的gflag用2.0以下的

              http://www.onlinedown.net/softdown/171915_2.htm  gflag 1.2版本的

              bash./configure

              make

              makeinstall

6. 運行 sh train_lenet.sh指令碼後報錯

error while loading shared libraries:libcudart.so.5.5: cannot open shared object file: No such file or directory

6.1 http://blog.csdn.net/shenchong721/article/details/21529295解決方案

6.2 修改/etc/ld.so.conf , 添加cuda的lib的路徑,然後執行sudoldconfig 


有關glog的報錯

https://github.com/BVLC/caffe/issues/333

       exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

       Afteradding to ld.so.conf, run ldconfig with sudo. Then the runtime linker will beable to find.


7. 還要修改MNIST的檔案名稱,亂碼問題,還有尾碼名 _ 與. 的問題

 

 

 

 

第二次安裝-新使用者

1.      修改Makefile.config.example一定要記得改LIBRARY_PATH

2.      然後就沒什麼問題了

 

常見問題:即便是root使用者也會出現permission denied的錯誤,這時候在命令前面加bash

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.