matlab调用caffemex_【caffe-windows】 caffe-master 之 matlab接口配置

平台环境: win10 64位 caffe-master  vs2013 Matlab2016a

第一步:

打开\caffe-master\windows下的CommonSettings.props文件,

更改MatlabSupport,改成true(即支持Matlab接口)。

如图:

matlab调用caffemex_【caffe-windows】 caffe-master 之 matlab接口配置_第1张图片

第二步:

更改matlab的路径,

如图:

matlab调用caffemex_【caffe-windows】 caffe-master 之 matlab接口配置_第2张图片

第三步:

在includepath中增加一个路径,若没有的话,在编译时候会出现如下错误:gpu/mxGPUArray.h" Not Found

复制这段code:

$(MatlabDir)\extern\include;$(MatlabDir)\toolbox\distcomp\gpu\extern\include;$(IncludePath)

如图:

matlab调用caffemex_【caffe-windows】 caffe-master 之 matlab接口配置_第3张图片

第四步:

打开caffe-master\windows 下的 Caffe.sln ,找到matcaffe,选择released(不要用debug),然后右键matcaffe,点击生成。

PS:不知道什么原因出错

错误    1   error : NuGet Error:Unable to find version‘2.4.10‘ of package ‘OpenCV.overlay-x64_v120_Release‘. D:\NugetPackages\OpenCV.2.4.10\build\native\OpenCV.targets  772 5  libcaffe

选择重新生成,可以解决。当然,没出错的同学忽略。

生成完毕后在caffe-master\Build\x64\Release\matcaffe\+caffe\private下会有文件 :caffe_.mexw64

第五步:

打开matlab,添加路径

如图:

matlab调用caffemex_【caffe-windows】 caffe-master 之 matlab接口配置_第4张图片

第六步:

添加系统环境变量,把..\caffe-master\Build\x64\Release  添加到系统环境变量中,如图:

matlab调用caffemex_【caffe-windows】 caffe-master 之 matlab接口配置_第5张图片

否者在运行 demo.m时候出会出现如下错误:

Invalid MEX-file‘D:\caffe-master\Build\x64\Release\matcaffe\+caffe\private\caffe_.mexw64‘: 找不到指定的模块。

出错 caffe.set_mode_cpu (line 5)

caffe_(‘set_mode_cpu‘);

出错 classification_demo (line 71)

caffe.set_mode_cpu();

第七步:

将caffe-master\Build\x64\Debug中所有dll文件全复制到caffe-master\matlab\+caffe\private

如图:

matlab调用caffemex_【caffe-windows】 caffe-master 之 matlab接口配置_第6张图片

matlab调用caffemex_【caffe-windows】 caffe-master 之 matlab接口配置_第7张图片

第八步:

下载model文件(bvlc_reference_caffenet.caffemodel)放到caffe-master\models\bvlc_reference_caffenet文件夹下

第九步:

下载标签文件:synset_words.txt ,放在与classification_demo.m同一个文件夹下

第十步:

打开classification_demo.m,运行。如果出现

未定义函数或变量 ‘caffe_‘。

出错 caffe.set_mode_cpu (line 5)

caffe_(‘set_mode_cpu‘);

出错 classification_demo (line 71)

caffe.set_mode_cpu();

请修改 第二条语句

addpath(‘../../Build/x64/Release/matcaffe‘);

第十一步:

下载链接:http://pan.baidu.com/s/1nvtwoBJ 密码:t71u

存放在与classification_demo.m同一个文件夹下

test_mat.m源码如下:

%参考http://www.aichengxu.com/view/2422137

clear

clc

im = imread(‘../../examples/images/cat.jpg‘);%读取图片

figure;imshow(im);%显示图片

[scores, maxlabel] = classification_demo(im, 0);%获取得分第二个参数0为CPU,1为GPU

maxlabel %查看最大标签是谁

figure;plot(scores);%画出得分情况

axis([0, 999, -0.1, 0.5]);%坐标轴范围

grid on %有网格

fid = fopen(‘synset_words.txt‘, ‘r‘);

i=0;

while ~feof(fid)

i=i+1;

lin = fgetl(fid);

lin = strtrim(lin);

if(i==maxlabel)

fprintf(‘the label of %d is %s\n‘,i,lin)

break

end

23. end

运行结果如图:

matlab调用caffemex_【caffe-windows】 caffe-master 之 matlab接口配置_第8张图片

原文:http://www.cnblogs.com/TensorSense/p/6260284.html

你可能感兴趣的:(matlab调用caffemex_【caffe-windows】 caffe-master 之 matlab接口配置)