1. 程式人生 > >ubuntu上安裝caffe

ubuntu上安裝caffe

參考:https://blog.csdn.net/Reedlh/article/details/80659363

常用的深度學習框架有 TensorFlowCaffeTheanoTorchCNTK,這裡記錄作為入門級的菜鳥如何配置Caffe - -計算機視覺庫。

 

參照Caffe官網安裝教程,簡單翻譯如下:

  • Caffe安裝依賴關係 
    1.使用GPU需要安裝CUDA; 
    2.BLAS:三種庫可以選擇ATLASMKLOpenBLAS; 
    3.Boost >=1.55; 
    4.protobuf , glog

     , gflags , hdf5

  • 可選的依賴關係 
    1.OpenCV>=2.4; 
    2.IO庫:lmdb , leveldb; 
    3.GPU加速,需安裝cuDNN.

  • Pycaffe介面 
    對於Python Caffe:Python 2.7或者Python 3.3+numpy>=1.7,boost提供boost.python.

  • Matcaffe介面 
    對於MATLAB Caffe:使用MATLAB mex編譯器.

    安裝步驟記錄如下 
    電腦安裝有Ubuntu 16.04 LST

    系統自帶Python2.7+Python3.5,自行安裝了Anaconda(Python3.6).

    1.必要的軟體 
    按官方安裝提示,對於Ubuntu 16.04 LST操作如下:

 

 
  1. $ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

  2. $ sudo apt-get install --no-install-recommends libboost-all-dev

2.安裝BLAS 

三種可選的安裝包,ATLASMKLOpenBLAS,任選一種安裝:

 
  1. $ sudo apt-get install libatlas-base-dev

  2. $ sudo apt-get install libopenblas-dev

3.依賴包 

注意,不安裝如下軟體包會在後面的編譯過程中出錯!官方指出,對於Ubuntu 16.04 LST是需要安裝CUDA 8的,而對於Ubuntu 14.04 LST,是需要如下軟體包的。CUDA是由cuda-toolkit+nvidia驅動+sample三部分組成,有的教程說無GPU直接跳過cuda的安裝,有的說只安裝cuda-toolkit,實質上應該都是指安裝如下軟體包:

$ sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

4.編譯Caffe 

①從GitHub上克隆到本地:

 
  1. $ cd ~

  2. $ git clone https://github.com/BVLC/caffe

②修改編譯配置文件

 
  1. $ cd ~/caffe

  2. $ cp Makefile.config.example Makefile.config

具體修改如下: 
1.CPU_ONLY := 1這一行去掉註釋,表示只用CPU; 
2.WITH_PYTHON_LAYER := 1這一行去掉註釋,表示使用python來編寫layer; 
3.將BLAS := Atlas改為BLAS := open 

4.將# Whatever else you find you need goes here.下面的

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

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

修改為

 
  1. INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial

  2. LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

5.關於USE_CUDNN := 1OPENCV_VERSION := 3以及anaconda暫不做修改.

③修改編譯檔案 

 
  1. LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5

  2. 改為:

  3. LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

 

④編譯測試

 

 
  1. make all -j4

  2. make test -j4

  3. make runtest -j4