ubuntu上安裝caffe
參考:https://blog.csdn.net/Reedlh/article/details/80659363
常用的深度學習框架有 TensorFlow
、Caffe
、Theano
、Torch
、CNTK
,這裡記錄作為入門級的菜鳥如何配置Caffe - -計算機視覺庫。
參照Caffe官網安裝教程,簡單翻譯如下:
-
Caffe安裝依賴關係
1.使用GPU需要安裝CUDA
;
2.BLAS
:三種庫可以選擇ATLAS
、MKL
、OpenBLAS
;
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
操作如下:
-
$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
-
$ sudo apt-get install --no-install-recommends libboost-all-dev
2.安裝BLAS
三種可選的安裝包,ATLAS
、MKL
、OpenBLAS
,任選一種安裝:
-
$ sudo apt-get install libatlas-base-dev
-
$ 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上克隆到本地:
-
$ cd ~
-
$ git clone https://github.com/BVLC/caffe
②修改編譯配置文件
-
$ cd ~/caffe
-
$ 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.下面的
-
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
-
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改為
-
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
-
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 := 1
、OPENCV_VERSION := 3
以及anaconda
暫不做修改.
③修改編譯檔案
-
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
-
改為:
-
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
④編譯測試
-
make all -j4
-
make test -j4
-
make runtest -j4