轉載:http://www.linuxdiyf.com/linux/22847.html
一、Caffe(CPU Only)+Ubuntu14.04
要求:**Ubuntu系統,且必須是14.04版本,其他版本在配置過程中,可能會報錯。如果不想出錯,用14.04版本(32位、64位均可,推薦64位)。
我配置時,完全是參考Caffe官網上的流程,上面的流程十分簡單明了,一遍成功。下面是網址:http://caffe.berkeleyvision.org/install_apt.html
1、安裝依賴庫
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
sudo apt-get install libatlas-base-dev
3、依賴庫
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
4:(可選,不配置也是可以跑caffe訓練 的),安裝OpenCV,切記,Ubuntu14.04系統,一定要下載OpenCV2.4.9,否則配置時很容易出錯。
5、下載Caffe並編譯。這里沒有配置Python和Matlab接口,如想配置這兩個借口,用Python和Matlab調用Caffe,請參考官網。(個人感覺在服務器上沒必要配,Python和Matlab接口,Caffe本身的.cpp和.prototxt代碼寫的十分清晰明了)。
首先:
我是在用戶主目錄下執行的下面操作(非root用戶),不要告訴我不會切到用戶的主目錄下面嗷~(命令:cd ~)
git clone https://github.com/BVLC/caffe.git
cd caffe
cp Makefile.config.example Makefile.config
然后:修改Makefile.config文件內容,將“# CPU_ONLY := 1”中的#號去掉,即可,其他的都不用改。
最后:
make all
(也可以 make all -j4 開啟4個進程,開啟進程數不要過多,最好看看自己CPU是幾核的)
make test (或 make test -j4
make runtest (或make runtest -j4)
6、測試
如果安裝、編譯不出錯,那么配置成功,跑一個例子看看。
首先進入Caffe目錄
cd ~/caffe
./data/mnist/get_mnist.sh (或 sh data/mnist/get_mnist.sh)
./examples/mnist/create_mnist.sh(或 sh examples/mnist/create_mnist.sh)
vi examples/mnist/lenet_solver.prototxt
%修改里面的solver_mode為CPU
./examples/mnist/train_lenet.sh(或 sh /examples/mnist/train_lenet.sh)
盡情的跑吧。
二、MatConvNet+Windows+Matlab2014b+VC2013
MatConvNet配置GPU還是相對簡單的,CPU更加簡單了。這里還是CPU版本的,去官網下載最新版。
http://www.vlfeat.org/matconvnet/
或者,用我上傳的這個壓縮包(一樣是在官網下的)
http://download.csdn.net/detail/zxc024000/9589881
首先,請配置Matlab2014b+VS2013編譯環境,使用 mex -setup,設置編譯器為VS2013
下載后,解壓,我這里文件夾名叫“matconvnet-master”
打開Matlab2014b,工作目錄切換到該文件夾下,新建 “Compile.m”,內容如下:
addpath matlab
vl_compilenn
運行該文件,即可編譯CPU版的MatConvNet,編譯好后。運行
matconvnet-master\examples\mnist 中的cnn_mnist.m,
該程序會自動從網上下載訓練數據,下載好后,自動進行訓練。訓練后,會得到一個訓練好的網絡,利用Matlab的save命令,將該結果保存為.mat文件,以后就可以用利用MatConvNet提供的函數,調用這個.mat文件,進行分類了。下圖是在訓練中,全部樣本訓練第二次迭代中。

一個更簡單的例子,
在該網址上下載,imagenet-vgg-f.mat。
http://www.vlfeat.org/matconvnet/models/
切換到matconvnet-master目錄下,新建demo.m,內容如下:
run matlab/vl_setupnn
net=load('../models/imagenet-vgg-f.mat');%換成模型存儲的位置
im=imread('peppers.jpg');%圖片自己搜,推薦百度一張企鵝圖片,測試一下
im_=single(im);
im_=imresize(im_,net.meta.normalization.imageSize(1:2));
im_=im_-net.meta.normalization.averageImage;
res=vl_simplenn(net,im_);
y=res(end).x;
x=gather(res(end).x);
scores=squeeze(gather(res(end).x));
[bestScore,best]=max(scores);
figure(1);
clf;
imshow(im);
title(sprintf('%s %d,%.3f',...
net.meta.classes.description{best},best,bestScore));

上圖將目標正確 分類,類別為946,得分為0.704.
Caffe和MatConvNet包含許多知識,最好深入學習一下,才能更好的使用。