安装
- 编译前确保Matab已绑定C++编译器,否则使用命令>>mex -setup 进行绑定编译器。
- 将Matalb的工作路径切换到Matconvnet目录下,../matconvnet-1.0-beta23。
- 编译工具箱,>>run matlab/vl_compilenn ;
- 安装工具箱,>>run matlab/vl_setupnn ;
测试
- 在Matlab工作空间输入一下代码,并运行;成功显示图片说明安装成功。
% Download a pre-trained CNN from the web (needed once).urlwrite('http://www.vlfeat.org/matconvnet/models/imagenet-vgg-f.mat','imagenet-vgg-f.mat') ;% Load a model and upgrade it to MatConvNet current version.net = load('imagenet-vgg-f.mat') ;net = vl_simplenn_tidy(net) ;% Obtain and preprocess an image.im = imread('peppers.png') ;im_ = single(im) ; % note: 255 rangeim_ = imresize(im_, net.meta.normalization.imageSize(1:2)) ;im_ = im_ - net.meta.normalization.averageImage ;% 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.meta.classes.description{best}, best, bestScore)) ;
Using DAG models
The example above exemplifies using a model using the SimpleNN wrapper. More complex models use the DagNN wrapper instead. For example, to run GoogLeNet use:
% setup MatConvNetrun matlab/vl_setupnn% download a pre-trained CNN from the web (needed once)urlwrite(... 'http://www.vlfeat.org/matconvnet/models/imagenet-googlenet-dag.mat', ... 'imagenet-googlenet-dag.mat') ;% load the pre-trained CNN net = dagnn.DagNN.loadobj(load('imagenet-googlenet-dag.mat')) ; net.mode = 'test' ; % load and preprocess an image im = imread('peppers.png') ; im_ = single(im) ; % note: 0-255 range im_ = imresize(im_, net.meta.normalization.imageSize(1:2)) ; im_ = bsxfun(@minus, im_, net.meta.normalization.averageImage) ; % run the CNN net.eval({ 'data', im_}) ; % obtain the CNN otuput scores = net.vars(net.getVarIndex('prob')).value ; scores = squeeze(gather(scores)) ; % show the classification results [bestScore, best] = max(scores) ; figure(1) ; clf ; imagesc(im) ; title(sprintf('%s (%d), score %.3f',... net.meta.classes.description{best}, best, bestScore)) ;
http://www.vlfeat.org/matconvnet/quick/