caffe-windows matlab 接口配置

caffe平台配置完成后,我们对其matlab接口进行配置。这样往后的各种实验,可在matlab平台中对数据进行处理。

一、修改windows文件夹下的CommonSettings.props,添加你的matlab路径

这里写图片描述

caffe-windows matlab 接口配置_第1张图片
重新编译caffe
caffe-windows matlab 接口配置_第2张图片

二、链接
打开Build\x64\Release\matcaffe+caffe\private文件下,查看是否生成caffe_.mexw64等文件。
将Build\x64\Release下所有.dll文件复制到Build\x64\Release\matcaffe+caffe\private文件夹下。

caffe-windows matlab 接口配置_第3张图片

三、matlab路径设置

caffe-windows matlab 接口配置_第4张图片

简单测试一下

caffe-windows matlab 接口配置_第5张图片
这样,caffe在windows下的matlab接口就配置成功了。

用VGG-16测试一下- - 实验代码和图片链接:http://pan.baidu.com/s/1i4YLuJj 密码:xzez
matlab测试代码如下
demo.m

%% VGG16 
caffe.set_mode_cpu();
model_dir = './';
net_model = [model_dir 'VGG_ILSVRC_16_layers_deploy.prototxt']; %读取网络
net_weights = [model_dir 'VGG_ILSVRC_16_layers.caffemodel']; %读取训练好的模型(实质为网络的参数)
net = caffe.Net(net_model,net_weights, 'test');% 将参数加载到网络中

%% 读入224*224RGB图像
im_data = imread('car.bmp');
im_data = im_data(:, :, [3, 2, 1]);  %  RGB to BGR
im_data = permute(im_data, [2, 1, 3]);  % 图像转置
im_data = imresize(im_data, [224 224], 'bilinear'); 

%% 输入VGG-16
net.blobs('data').set_data(single(im_data));
net.forward_prefilled();
score = net.blobs('prob').get_data();  %score为1000×1的分类概率向量

text.m

score1 = sort(score,'descend');
label = find(score == score1(1) );
fid = fopen('synset_words.txt', 'r');
ii=0;
while ~feof(fid)
    ii=ii+1;
    lin = fgetl(fid);
    lin = strtrim(lin);
    if(ii==label)
        fprintf('该图像分类结果是:第 %d 类,属于: %s\n',ii,lin);
        fprintf('该图像分属于该类的概率为: %.3f\n',score1(1));
        break
    end
end

car.bmp
caffe-windows matlab 接口配置_第6张图片

这里写图片描述

cat.jpg
caffe-windows matlab 接口配置_第7张图片

这里写图片描述

注意matlab 文件位置,在matlab/demo路径下运行。
caffe-windows matlab 接口配置_第8张图片

你可能感兴趣的:(caffe)