1. 程式人生 > >Ubuntu16.0安裝caffe(makefile的詳細配置)

Ubuntu16.0安裝caffe(makefile的詳細配置)

一、環境準備

Linux: ubuntu-16.04-desktop-amd64

CUDA:cuda-repo-ubuntu1504-7-5-local_7.5-18_amd64.deb

二、安裝步驟

1.安裝必要的環境

sudo apt-get update #更新軟體列表   

sudo apt-get upgrade #更新軟體   

sudo apt-get install build-essential #安裝build essentials  

2.安裝CUDA

sudo dpkg -i cuda-repo-ubuntu1504-7-5-local_7.5-18_amd64.deb

3.安裝必要的庫

A:

sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler gfortran libjpeg62 libfreeimage-dev libatlas-base-dev git python-dev python-pip libgoogle-glog-dev libbz2-dev libxml2-dev libxslt-dev libffi-dev libssl-dev libgflags-dev liblmdb-dev python-yaml  

B:

sudo easy_install pillow

4.下載caffe  

cd ~  

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

5.安裝python相關的依賴庫

cd caffe  

cat python/requirements.txt | xargs -L 1 sudo pip install

6.增加符號連結:

sudo ln -s /usr/include/python2.7/ /usr/local/include/python2.7  

sudo ln -s /usr/local/lib/python2.7/dist-packages/numpy/core/include/numpy/ /usr/local/include/python2.7/numpy  

7.修改Makefile.config配置檔案

~/caffe目錄下:

A

先將Makefile.config.example複製為Makefile.config

cp Makefile.config.example Makefile.config

B

去掉 # CPU_ONLY: = 1 的註釋

gedit開啟Makefile.config(或者直接用vim在終端中開啟修改也可以)

gedit Makefile.config

結果如下圖:


C

修改PYTHON_INCLUDE路徑

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

改為:

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

如圖:


D

如果沒有 hdf5,安裝一下,如果有了,就跳過安裝

安裝hdf5

sudo apt-get install libhdf5-dev

新增hdf5庫檔案

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/hdf5/serial/

如圖:


8.編譯caffe

caffe目錄下面:

make pycaffe  

make all  

make test

可以編譯成功,caffe基本上就已經安裝成功了。

9.使用MNIST手寫資料集測試,訓練資料模型

A

cd ~/caffe (or whatever you called your Caffe directory)  

./data/mnist/get_mnist.sh  

./examples/mnist/create_mnist.sh  

B

編輯examples/mnist資料夾下的lenet_solver.prototxt檔案,將solver_mode模式從GPU改為CPU

C

訓練模型

./examples/mnist/train_lenet.sh  


三、總結

到這一步,大功告成了!

A.下載檔案太多,太大,太慢

B.步驟麻煩

C.以此文件做為記錄

四、參考資料

http://blog.csdn.net/hjl240/article/details/51460884