ubuntu14.0.4配置caffe 無CUDA情況下

本博客是CPU的運行,GPU的一直等有時間在寫。要是想安裝gpu的版本的,可參考:先付上一些成功安裝的博客的吧

1.http://blog.csdn.NET/xierhacker/article/details/53035989

2.http://blog.csdn.Net/Lee_J_R/article/details/52693724?locationNum=7&fps=1

以上兩篇博客還不錯,比較詳細。(注:在配置的一些問題,可以在下面提問,我配置的是gtx1080,自從搞深度學習,配置不少於20次了,有點經驗,都是自己在搞,以前的辛酸不提了。)

CPU配置:

http://blog.csdn.net/autocyz/article/details/51783857  (2016.6月份的博文,本文沒有參考這篇博客,不過感覺寫的挺好 貼上連接)

caffe是一個簡潔高效的深度學習框架,具體介紹可以看這裏http://caffe.berkeleyvision.org/,caffe環境配置過程可以參考這裏:http://caffe.berkeleyvision.org/installation.html,我在搭建環境時蒐集了許多資料,這裏整理了一下,介紹一下caffe在無CUDA的環境下如何配置。

1. 安裝build-essentials

安裝開發所需要的一些基本包

[html] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. sudo apt-get install build-essential  
如果出現essential包不可用的情況,可以執行下列命令解決:
[html] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. sudo apt-get update  

2. 安裝ATLAS for Ubuntu

執行命令:

[html] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. sudo apt-get install libatlas-base-dev  
注:ATLAS, MKL,或OpenBLAS都可以,我這裏選擇安裝ATLAS

3. 安裝OpenCV

這個儘量不要手動安裝, Github上有人已經寫好了完整的安裝腳本:https://github.com/jayrambhia/Install-OpenCV
下載該腳本,解壓".zip"文件,解壓命令:

安裝2.4.9 (不推薦)

https://gist.github.com/bearpaw/c38ef18ec45ba6548ec0
  1. 下載安裝腳本 https://github.com/bearpaw/Install-OpenCV
  2. 進入目錄 Install-OpenCV/Ubuntu/2.4
  3. 執行腳本 sh sudo ./opencv2_4_10.sh 
安裝2.4.9(推薦)
[html] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. unzip /home/wzy/下載/Install-OpenCV-master.zip  

    進入Ubuntu/2.4 目錄, 給所有shell腳本加上可執行權限:

[html] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. chmod +x *.sh  
      然後安裝最新版本 (當前爲2.4.9):
[html] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. sudo ./opencv2_4_9.sh  

4. 安裝其他依賴項

      Ubuntu14.04用戶執行
[html] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. 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  

  使用其它系統的可以參考官網介紹。

5. 編譯Caffe

    完成了上述環境的配置,就可以編譯Caffe了! 
    下載caffe安裝包,下載地址:https://github.com/BVLC/caffe
    解壓該壓縮包,解壓縮命令:

這裏也可以直接:sudo git clone https://github.com/BVLC/caffe.git

[html] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. sudo unzip /home/wzy/下載/caffe-master.zip  

    注:如果解壓位置出錯了,可以使用以下命令刪除該目錄及所有的子目錄:

[html] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. sudo rm -rf caffe-master  

    進入caffe根目錄, 首先複製一份Makefile.config,命令:

[html] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. cp Makefile.config.example Makefile.config  

   然後修改裏面的內容,主要需要修改的參數包括:

   1.修改文件權限 規則:chmod [who] [+ | - | =] [mode] 文件名¼

   使用 chmod g+w Makefile.config

    2.打開文件進行修改

   使用 sudo vim Makefile.config

   按“i”鍵開始修改,修改結束後按esc鍵,鍵入“:wq”保存並退出

   修改 將# CPU_ONLY = 1前面的#去掉 並按“tab”鍵,(默認從tab處執行)

    CPU_ONLY 是否只使用CPU模式,由於我沒有NVIDIA的顯卡,就沒有安裝CUDA,因此需要打開這個選項。
    其餘的一些配置可以根據需要修改:
    BLAS (使用intel mkl還是OpenBLAS)
    MATLAB_DIR 如果需要使用MATLAB wrapper的同學需要指定matlab的安裝路徑, 如我的路徑爲 /usr/local/MATLAB/R2013b (注意該目錄下需要包含bin文件夾,bin文件夾裏應該包含mex二進制程序)

    DEBUG 是否使用debug模式,打開此選項則可以在eclipse或者NSight中debug程序

    完成上述設置後,開始編譯:  

[html] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. sudo make all -j16   (我的電腦是16的)  
[html] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. sudo make test    
[html] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. sudo make runtest  
   注意:-j4 是指使用幾個線程來同時編譯,可以加快速度,j後面的數字可以根據CPU core的個數來決定,如果CPU是4核的,則參數爲-j4,也可以不添加這個參數,直接使用“make all”,這樣速度可能會慢一點兒。

6.使用MNIST數據集進行測試

 Caffe默認情況會安裝在$CAFFE_ROOT,就是解壓到的那個目錄,例如:$ home/username/caffe-master,所以下面的工作,
默認已經切換到了該工作目錄。下面的工作主要是測試Caffe是否工作正常,不做詳細評估。具體設置請參考官網:
http://caffe.berkeleyvision.org/gathered/examples/mnist.html
    (1)數據預處理
    可以用下載好的數據集,也可以重新下載,直接下載的具體操作如下:

[html] view plaincopy
  1. $ cd data/mnist  
  2. $ sudo sh ./get_mnist.sh  
       (2)重建LDB文件,就是處理二進制數據集爲Caffe識別的數據集,以後所有的數據,包括jpe文件都要處理成這個格式,執行命令如下: 
[html] view plaincopy
  1. $ sudo sh ./examples/mnist/create_mnist.sh  
       生成mnist-train-leveldb/ 和 mnist-test-leveldb/文件夾,這裏包含了LDB格式的數據集
       注:新版caffe都需要從根目錄上執行,如果使用下列命令執行:

[html] view plaincopy
  1. # cd examples/mnist  
  2. # sudo sh ./create_mnist.sh  
     可能會遇到這個錯誤:./create_mnist.sh: 16: ./create_mnist.sh: build/examples/mnist/convert_mnist_data.bin: not found
      (3)訓練mnist
      如果沒有GPU,只有CPU的話,需要先修改examples/mnist目錄下lenet_solver.prototxt文件,將solver_mode:GPU改爲      solver_mode:CPU,修改後結果如下所示:
[html] view plaincopy
  1. # solver mode: CPU or GPU  
  2. solver_mode: CPU  

    修改時可以使用vi編輯命令(ubuntu14.0.4下也可以直接雙擊打開,修改後保存即可),如果是隻讀文件,不能編輯,可以用sudo命令,比如:

[html] view plaincopy
  1. sudo vi lenet_solver.prototxt  

     先進入命令模式,使用a進入編輯模式,修改完之後,使用esc退出編輯模式,進入末行模式,再使用“:wq”保存修改並退出(“:q!”爲退出但不保存修改)
   修改完成後,再在根目錄下(即/caffe-master目錄)執行下面的命令進行訓練:

[html] view plaincopy
  1. $ sudo sh ./examples/mnist/train_lenet.sh  


   最終訓練完的模型存儲爲一個二進制的protobuf文件:lenet_iter_10000
  至此,Caffe安裝的所有步驟完結。

注:如果進入到mnist目錄下執行這個sh命令,會出現錯誤。即這樣操作

[html] view plaincopy
  1. cd ./examples/mnist  
  2. sudo sh ./train_lenet.sh  
會有一個caffe-master/.build_release/tool/caffe找不到或不存在的錯誤。

7.使用MNIST數據集進行測試

得到訓練模型 lenet_iter_10000,利用命令行的方法對模型進行測試。
在caffe官網給出來了三種編譯方式 命令行、python、matlab.這裏使用的是命令行的方法

1.bash下建立.sh執行文件(腳本)  先cd到 ./caffe-master/examples/mnist文件夾下,命令行輸入

 備註:腳本的書寫可參考Caffe官網tutorial/interfaces中TEST的講解
[html] view plaincopy
  1. touch test_lenet.sh #生成.sh文件
  2. sudo vim test_lenet.sh #進入.sh文件鍵入內容
  3. #鍵入的內容爲
  4. #!/usr/bin/env sh
  5. "空行"
  6. ./build/tools/caffe test --model=examples/mnist/lenet_train_test.prototxt --weights=examples/mnist/lenet_iter_10000.caffemodel -iterations 100
    備註:因爲沒有用GPU所以官網指導文檔中的"gpu 0"這部分參數就沒有添加進去
  7. 保存.sh文件  按ESC鍵 然後鍵入:wq 
因爲編輯器的問題,自動換行了,所以這裏插入了圖片
2.將目錄返回到caffe-master目錄下 一路 cd ..
[html] view plaincopy

  1. sudo sh ./examples/mnist/test_lenet.sh   

最後放兩張測試成功的圖片
訓練過程


測試過程


8.要是大家想測試自己的數據集的話,可以參考鏈接:http://blog.csdn.net/u014696921/article/details/52156487

9.編譯python wrapper
安裝python
編譯
(1)安裝 Anaconda,到caffe官網指導文檔中安裝指導頁面,進入Anaconda官網,下載相應版本

(2)到下載目錄,執行
bash Anaconda2-2.4.1-Linux-x86_64.sh   (自己下載的是什麼版本就用什麼版本)
(3)cd到根目錄下,執行
sudo vim ~/.bashrc
對文件進行如下修改(文件最後添加就可以)
[plain] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. # add library path  
  2. LD_LIBRARY_PATH=your_anaconda_path/lib:$LD_LIBRARY_PATH  
  3. export LD_LIBRARY_PATH  
(4)安裝pip和python-dev ,執行
[plain] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. sudo apt-get install python-dev python-pip  

(5)cd到caffe-master/python目錄下,執行
[plain] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. for req in $(cat requirements.txt); do sudo pip install $req; done  

(6)cd到caffe-master目錄下,編譯執行
[plain] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. sudo make pycaffe  



10.編譯matlab wrapper
安裝matlab(參考之前的博文)
編譯
(1)安裝matlab
(2)修改Makefile.config 在caffe-master目錄下

(3)cd到caffe-maste目錄下,編譯執行
[plain] view plain copy
 
 在CODE上查看代碼片派生到我的代碼片
  1. sudo make matcaffe  
  2. 注意:配置2014的時候,一直要把gcc降級,之前一直做,沒有成功,最後還是安裝了2016版本的不用降級,方便,見Ubuntu 14.04安裝Matlab 2016b教程
發佈了24 篇原創文章 · 獲贊 51 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章