Caffe + Ubuntu 14.04 64bit + CUDA6.5 + 無GPU 配置


官網:

http://caffe.berkeleyvision.org/installation.html#compilation

參考網站: 

http://www.cnblogs.com/dupuleng/articles/4213834.html

http://www.cnblogs.com/empty16/p/4793404.html

-------------------------------------------------------------------------------------------------------------------------------------

一、安裝build-essentials

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

1 sudo apt-get install build-essential

二、CUDA安裝

這一步包括三個部分: 

  1. nvidia驅動
  2. cuda-toolkit
  3. cuda-samples

  在CPU模式下僅需要安裝cuda-toolkit,接下來介紹如何安裝cuda-toolkit

2.1 下載CUDA6.5

      下載方式:windows下載(http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.14_linux_64.run)通過ssh傳到Ubuntu

      或者直接在Ubuntu中輸入: 

1 wget http://developer.download.nvidia.com/compute/cuda/6_5/rel/installers/cuda_6.5.14_linux_64.run

      通過下列命令增加.run文件的執行權限:

1 chmod +x *.run

      然后解壓下載到的文件:

./cuda_6.5.14_linux_64.run  --extract=extract_path  (說明:需要將extract_path改為將文件解壓到的地點)

解壓下載得到的.run文件,得到三個文件,我們只安裝第一個,即cuda-toolkit包

    • CUDA安裝包: cuda-linux64-rel-6.5.14-18749181.run
    • NVIDIA驅動: NVIDIA-Linux-x86_64-340.29.run
    • SAMPLE包: cuda-samples-linux-6.5.14-18745345.run

2.2 安裝cuda

  安裝CUDA需要在純命令行下進行(非常重要),按 ctrl+alt+F1進入tty,登錄后執行如下命令

sudo service lightdm stop  

或者

sudo stop lightdm

執行下列命令安裝CUDA,按照提示一步步安裝,其中會讓你選擇安裝目錄,接受協議等,為方便選擇默認路徑,直接回車即可。

sudo ./cuda-linux64-rel-6.5.14-18749181.run

2.3 添加環境變量

安裝完成后在/etc/profile中添加環境變量,在文件最后添加

PATH=/usr/local/cuda-6.5/bin:$PATH
export PATH

    保存后,執行下列命令,使環境變量立即生效

source /etc/profile

   2.4 添加lib庫路徑 

    在/etc/ld.so.conf.d/目錄下增加文件cuda.conf,內容如下 

/usr/local/cuda-6.5/lib64

    執行下列命令立刻生效

sudo ldconfig

    注: 如果你沒有使用默認路徑,將上面的路徑換成自己相應的路徑即可

 2.5 退出命令行

sudo service lightdm start

或者

sudo start lightdm

三、安裝BLAS

BLAS有三個版本:ATLAS, MKL, OpenBLAS。MKL是收費的,也用student版本,不過需要使用你所在單位的郵箱來申請, 其它兩種是免費的,這里使用OpenBlas。聽說MKL效率上比其它兩種好很多。。

     1. 下載地址:

1 wget https://codeload.github.com/xianyi/OpenBLAS/tar.gz/v0.2.15

   2. 解壓

1 tar -zvxf OpenBLAS-0.2.15

    3.進入解壓生成的文件進行編譯安裝:

     直接輸入:make; 估計會報錯: make[1]: *** [sgemm.o] Error 1

     那么輸入:make TARGET=NEHALEM

     編譯好后會提示類似於: make PREFIX=/your/path/lib install等;它的意思就是安裝lib到相應的地址

     輸入: make PREFIX=/usr/local/OpenBlas/

  4. 添加lib庫路徑: 在/etc/ld.so.conf.d/目錄下增加文件OpenBlas.conf,內容如下

/usr/local/OpenBlas/lib

    5. 執行下列命令立刻生效

sudo ldconfig

 

四、安裝Opencv

  1.  從github上下載安裝腳本:https://github.com/jayrambhia/Install-OpenCV
  2.  進行Ubuntu/2.4目錄,對所有腳本增加可執行權限
sudo chmod +x *.sh

安裝最新版本(當前為2.4.9),有人自己寫了2.4.20版本的,有興趣的可以去下:http://pan.baidu.com/s/1m3hQu

  3.    安裝依賴項

sudo ./dependencies.sh

  4.   安裝opencv 2.4.9

sudo sh ./opencv2_4_9.sh

  這塊兒時間比較長,保證網絡連接,需要聯網下載安裝包。

  注意:中途可能會報錯:

1
opencv-2.4.9/modules/gpu/src/nvidia/core/NCVPixelOperations.hpp(51): error: a storage  class  is not allowed in an  explicit  specialization

  解決方案: 下載NCVPixelOperations.hpp ,替換掉Ubuntu/2.4/Opencv/opencv2.4.9/moduels/gpu/src/nvidia/core目錄中的NCPixelOperations.hpp文件,重新執行安裝命令

sudo sh ./opencv2_4_9.sh

五、安裝其它依賴項

  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

  其它版本參考官網說明

六、安裝Caffe所需要的Python 環境(未測試)

  選擇一個適合你的IDE運行環境,作者用的是Spyder,因為它內置了 iPython 環境,Caffe有不少的程序是基於 iPython 環境完成的。安裝方法很簡單,直接在Ubuntu軟件中心搜索“spyder”即可安裝。

七、安裝Caffe所需要的matlab環境

  1. 下載:自己從網上找資源吧,百度雲盤中有比較多的資源。注意:caffe只支持matlab12b以上的版本
  2. 安裝具體流程參考:http://blog.csdn.net/aimatfuture/article/details/8058156

八、編譯Caffe

cp Makefile.config.example Makefile.config
  •       根據自己環境修改相應內容

   1 取消 CPU_ONLY := 1前面的注釋

   2. cuda 安裝路徑改為自己的路徑 : CUDA_DIR := /usr/local/cuda-6.5

   3. 配置路徑:實現caffe對python和matlab接口的支持  

復制代碼
PYTHON_INCLUDE := /usr/include/python2.7 \

/usr/lib/python2.7/dist-packages/numpy/core/include

PYTHON_LIB := /usr/local/lib

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

MATLAB_DIR := /usr/local/MATLAB/R2014a
復制代碼

   4. BLAS := open (根據自己選擇的版本,分別設為atlas, mkl, open

       BLAS_INCLUDE :=/usr/local/OpenBlas/include

       BLAS_LIB :=/usr/local/OpenBlas/lib

       Makefile中: BLAS ?= atlas 改成: BLAS ?= open

  • 編譯caffe
sudo make all -j2
sudo make test 
sudo make runtest

    

在一這步可能會碰到問題:undefined refrence to ' cudaGetDevice '

    解決方法:

      1. 修改Makefile.config, 修改CUSTOM_CXX := g++-4.6

      2. 執行命令 sudo apt-get install gcc-4.6 g++-4.6 gcc-4.6-multilib g++-4.6-multilib
      3. 修改以下兩個文件
        vi src/caffe/common.cpp
        vi tools/caffe.cpp
        使用google替代gflags

      4. 重新make

   如果在make的過程中提示:“error while loading shared libraries: xxx.so.x”,可能是cuda及OpenBLAS環境變量沒有設置正確,檢查相應步驟,可參考:http://blog.csdn.net/sahusoft/article/details/7388617

九、編譯matlab wrapper 

make matcaffe

十、編譯python wrapper

make pycaffe

 

 十一、使用MNIST數據集進行測試

  這部分可參考caffe官網:http://caffe.berkeleyvision.org/gathered/examples/mnist.html,非常詳細。

  注:這一部分默認在caffe的目錄下完成,不能去相應的子目錄下執行腳本,因為腳本中的路徑是相對於caffe目標的相對路徑 。

  1. 獲取數據: sudo sh data/mnist/get_mnist.sh
  2. 重建lmdb/ leveldb文件:sh examples/mnist/create_mnist.sh       ( caffe支持三種數據格式輸入: images(.jpg,.png等),leveldb, lmdb)
  3. 切換到CPU模式: 在lenet_solver.prototxt中修改 solover_mode = CPU , 在最后一行
  4. 訓練minist: sudo sh examples/mnist/train_lenet.sh

  沒有錯誤的話,就可以看到一串串的輸出信息啦。

      會進行10000次的迭代,耐心的等待吧!

十二、測試訓練的模型

  當所有數據都訓練好之后,接下來就是如何將模型應用到實際數據了:

  ./build/tools/caffe.bin test -model=examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/lenet_iter_10000.caffemodel -gpu=0 

  如果沒有GPU則使用

  ./build/tools/caffe.bin test -model=examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/lenet_iter_10000.caffemodel

十二、在CPU模式下,所以不安裝CuDnn


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM