MatConvNet在Ubuntu14.04上的配置筆記

MatConvNet是實現計算機視覺中卷積神經網絡(Convolutional Neural Networks,CNN)的MATLAB工具箱。 同CAFFE相比,MatConvNet更容易配置與使用。以下對MatConvNet工具箱的配置做較爲簡要的筆記。

本機配置

Ubuntu 14.04 + MATLAB 2014A + Cuda 6.5    


主要步驟

在以上配置基礎上,配置MatConvNet的主要步驟如下:


1 安裝libjpeg:

sudo apt-get install libjpeg-dev

2 修改MatConvNet工具包下的makefile:

ENABLE_GPU ?= y
ENABLE_IMREADJPEG ?= y
ARCH ?= glnxa64
CUDAROOT ?= /usr/local/cuda-6.5
MATLABROOT ?= /usr/local/MATLAB/R2014a

CUDAMETHOD ?= nvcc 

3 編譯庫

一般編譯

vl_compilenn

使用CUDA編譯

vl_compilenn('enableGpu', true)

使用cudnn編譯(路徑名需要根據實際情況設置):

vl_compilenn('enableGpu', true, ...
               'cudaMethod', 'nvcc', ...
               'cudaRoot', '/usr/local/cuda/', ...
               'enableCudnn', true, ...
               'cudnnRoot', '/usr/local/cuda') 


1 測試安裝成功

 vl_testnn

2 測試GPU可以用

 vl_testnn('gpu', true)


 % setup MtConvNet in MATLAB
run matlab/vl_setupnn
% download a pre-trained CNN from the web
urlwrite('http://www.vlfeat.org/sandbox-matconvnet/models/imagenet-vgg-f.mat', ...
 'imagenet-vgg-f.mat') ;
net = load('imagenet-vgg-f.mat') ;

% obtain and preprocess an image
im = imread('peppers.png') ;
im_ = single(im) ; % note: 255 range
im_ = imresize(im_, net.normalization.imageSize(1:2)) ;  %resize爲224*224大小的矩陣
im_ = im_ - net.normalization.averageImage ;  %averageImage代表ImageNet統計到的圖像均值信息,爲224*224*3的矩陣<pre 

% run the CNN
res = vl_simplenn(net, im_) ;

% show the classification result
scores = squeeze(gather(res(end).x)) ;
[bestScore, best] = max(scores) ;
figure(1) ; clf ; imagesc(im) ;
title(sprintf('%s (%d), score %.3f',...
net.classes.description{best}, best, bestScore)) ;



其中,imagenet-vgg-f.mat可以採用其它下載方式。

參考:

http://www.vlfeat.org/matconvnet/install/

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