轉載:http://www.linuxdiyf.com/linux/22847.htmlhtml
1、Caffe(CPU Only)+Ubuntu14.04
要求:**Ubuntu系統,且必須是14.04版本,其餘版本在配置過程當中,可能會報錯。若是不想出錯,用14.04版本(32位、64位都可,推薦64位)。
我配置時,徹底是參考Caffe官網上的流程,上面的流程十分簡單明瞭,一遍成功。下面是網址:http://caffe.berkeleyvision.org/install_apt.html
一、安裝依賴庫
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
二、BLAS
sudo apt-get install libatlas-base-dev
三、依賴庫
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
4:(可選,不配置也是能夠跑caffe訓練 的),安裝OpenCV,切記,Ubuntu14.04系統,必定要下載OpenCV2.4.9,不然配置時很容易出錯。
五、下載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)
六、測試
若是安裝、編譯不出錯,那麼配置成功,跑一個例子看看。
首先進入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)
盡情的跑吧。
2、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包含許多知識,最好深刻學習一下,才能更好的使用。