caffe(無CUDA,caffe在CPU下執行)+Ubuntu14.0.4詳解---(適合於初學者配置)
本部落格是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
安裝開發所需要的一些基本包
- sudo apt-get install build-essential
-
sudo apt-get update
執行命令:
- sudo apt-get install libatlas-base-dev
3. 安裝OpenCV
這個儘量不要手動安裝, Github上有人已經寫好了完整的安裝指令碼:https://github.com/jayrambhia/Install-OpenCV下載該指令碼,解壓".zip"檔案,解壓命令:
安裝2.4.9 (不推薦)
https://gist.github.com/bearpaw/c38ef18ec45ba6548ec0- 下載安裝指令碼
- 進入目錄
Install-OpenCV/Ubuntu/2.4
- 執行指令碼
sh sudo ./opencv2_4_10.sh
- unzip /home/wzy/下載/Install-OpenCV-master.zip
進入Ubuntu/2.4 目錄, 給所有shell指令碼加上可執行許可權:
- chmod +x *.sh
- sudo ./opencv2_4_9.sh
4. 安裝其他依賴項
Ubuntu14.04使用者執行- 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
- sudo unzip /home/wzy/下載/caffe-master.zip
注:如果解壓位置出錯了,可以使用以下命令刪除該目錄及所有的子目錄:
- sudo rm -rf caffe-master
進入caffe根目錄, 首先複製一份Makefile.config,命令:
- 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程式
完成上述設定後,開始編譯:
- sudo make all -j16 (我的電腦是16的)
- sudo make test
- sudo make runtest
6.使用MNIST資料集進行測試
Caffe預設情況會安裝在$CAFFE_ROOT,就是解壓到的那個目錄,例如:$ home/username/caffe-master,所以下面的工作,
預設已經切換到了該工作目錄。下面的工作主要是測試Caffe是否工作正常,不做詳細評估。具體設定請參考官網:
http://caffe.berkeleyvision.org/gathered/examples/mnist.html
(1)資料預處理
可以用下載好的資料集,也可以重新下載,直接下載的具體操作如下:
- $ cd data/mnist
- $ sudo sh ./get_mnist.sh
- $ sudo sh ./examples/mnist/create_mnist.sh
注:新版caffe都需要從根目錄上執行,如果使用下列命令執行:
- # cd examples/mnist
- # sudo sh ./create_mnist.sh
(3)訓練mnist
如果沒有GPU,只有CPU的話,需要先修改examples/mnist目錄下lenet_solver.prototxt檔案,將solver_mode:GPU改為 solver_mode:CPU,修改後結果如下所示:
- # solver mode: CPU or GPU
- solver_mode: CPU
修改時可以使用vi編輯命令(ubuntu14.0.4下也可以直接雙擊開啟,修改後儲存即可),如果是隻讀檔案,不能編輯,可以用sudo命令,比如:
- sudo vi lenet_solver.prototxt
先進入命令模式,使用a進入編輯模式,修改完之後,使用esc退出編輯模式,進入末行模式,再使用“:wq”儲存修改並退出(“:q!”為退出但不儲存修改)
修改完成後,再在根目錄下(即/caffe-master目錄)執行下面的命令進行訓練:
- $ sudo sh ./examples/mnist/train_lenet.sh
- cd ./examples/mnist
- sudo sh ./train_lenet.sh
7.使用MNIST資料集進行測試
得到訓練模型 lenet_iter_10000,利用命令列的方法對模型進行測試。 在caffe官網給出來了三種編譯方式 命令列、python、matlab.這裡使用的是命令列的方法 1.bash下建立.sh執行檔案(指令碼) 先cd到 ./caffe-master/examples/mnist資料夾下,命令列輸入 備註:指令碼的書寫可參考Caffe官網tutorial/interfaces中TEST的講解-
touch test_lenet.sh #生成.sh檔案
- sudo vim test_lenet.sh #進入.sh檔案鍵入內容
- #鍵入的內容為
- #!/usr/bin/env sh
- "空行"
-
./build/tools/caffe test --model=examples/mnist/lenet_train_test.prototxt --weights=examples/mnist/lenet_iter_10000.caffemodel
-iterations 100
備註:因為沒有用GPU所以官網指導文件中的"gpu 0"這部分引數就沒有新增進去
-
儲存.sh檔案 按ESC鍵 然後鍵入:wq
2.將目錄返回到caffe-master目錄下 一路 cd ..
- 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 對檔案進行如下修改(檔案最後新增就可以)
- # add library path
- LD_LIBRARY_PATH=your_anaconda_path/lib:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
- sudo apt-get install python-dev python-pip
(5)cd到caffe-master/python目錄下,執行
- for req in $(cat requirements.txt); do sudo pip install $req; done
(6)cd到caffe-master目錄下,編譯執行
- sudo make pycaffe
10.編譯matlab wrapper 安裝matlab(參考之前的博文) 編譯 (1)安裝matlab (2)修改Makefile.config 在caffe-master目錄下
(3)cd到caffe-maste目錄下,編譯執行
- sudo make matcaffe
- 注意:配置2014的時候,一直要把gcc降級,之前一直做,沒有成功,最後還是安裝了2016版本的不用降級,方便,見Ubuntu 14.04安裝Matlab 2016b教程