Caffe+MATLAB2014a+ubuntu14.04

跑一個RCNN的代碼需要配Caffe+MATLAB2014a,走了不少彎路,花了不少時間。在此做個筆記,以供分享。

配置:

Ubuntu 14.04 + MATLAB 2014a + CUDA 6.5 

一、安裝gcc 4.7

Ubuntu14.04自帶的gcc版本是4.8,MATLAB2014a支持的最高版本爲4.7x。因此,需要安裝gcc4.7,並給gcc降級

在終端執行gcc 4.7的安裝命令:

 sudo apt-get update

 sudo apt-get install gcc-4.7 g++-4.7 g++-4.7-multilib gcc-4.7-multilib

在終端執行以下系統gcc降級命令(其中數字越大,表示優先級越高):

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 100 

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50 

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 100 

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50

sudo update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.7 100

sudo update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-4.8 50

驗證gcc-4.7是否安裝併成爲系統的默認版本:

gcc -v 

也可以將以上命令寫入一個shell文件中,執行shell腳本。

二、安裝MATLAB2014a

三、安裝CUDA6.5並設置相關的環境變量

四、安裝Caffe

4.1 下載

4.2 安裝庫依賴: 

sudo apt-get install  libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

4.3 將Caffe目錄下的Makefile.config.example修改爲Makefile.config並且修改其中關於MATLAB和CUDA的設置:

CUDA_DIR := /usr/local/cuda-6.5

CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \
-gencode arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30 \
-gencode arch=compute_35,code=sm_35 \
-gencode arch=compute_50,code=sm_50 \
-gencode arch=compute_50,code=compute_50

MATLAB_DIR := /usr/local/MATLAB/R2014a

注:其中CUDA >= 6.0時,CUDA_ARCH 需要做如上設置。

4.4 build Caffe

 make -j 4
 make -j 4 matcaffe

以上4表示採用4核。

題外

若想在shell上測試Caffe的例子,可在Caffe目錄下做如下編譯:

make test
make runtest

並在終端執行:

cd caffe-master

./data/mnist/get_mnist.sh 

./examples/mnist/create_mnist.sh

./examples/mnist/train_lenet.sh

如果想要跑rcnn的代碼,那麼需要配置liblinear-1.94,主要步驟如下:

1、修改lliblinear-1.94/matlab目錄下的Makefile文件,設置MATLAB的路徑

2、在終端make:先在liblinear-1.94目錄下make,再在liblinear-1.94/matlab目錄下make


報錯及處理:

1 報錯:close未聲明

   處理:添加 #include "unistd.h" 到Network.cpp裏


PS:

跑cnn代碼時要注意batch size不要過大。

本想用CUDNN跑代碼的,無奈下載不了,只能暫時放棄。

參考:

Caffe installation

How to setup Caffe to run Deep Neural Network


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章