按照微软的官方地址配置可能会出现一个问题caffe_.mexw64找不到引用模块问题,或者在matlab里面压根找不到caffe_这个函数,下面会提到这两个问题。还是按照步骤来吧
【PS】有GPU同样按照下述步骤,进行即可
第一步
修改配置文件,使之支持matlab接口,修改两个地方,第一个是matlabsupport,第二个是matlabdir也就是你的matlab安装目录(对matlab桌面图标右键属性查看):
第二步
编译caffe文件夹里面的Windows里面的caffe.sln工程里面的matcaffe一项
【注】此时先选择release选项吧,别用debug了
第三步
使用release编译以后,在\Build\x64\Release下会生成一个matcaffe文件夹,重点要有下面画框的文件。
第四步
【此步是按照微软官方配置方法】这一步不会安装成功,不想看到这种出错情况可直接跳入第五步
首先将上一步生成的matcaffe加入matlab的路径中,直接在setpath里面设置
然后将release加入系统变量【手动copy进去就行了,我这里没加,因为我测试了一下貌似没啥效果,你们可以试试可以成功不】
最后运行这个demo
遇到的就是我说的找不到caffe_的问题了
接下来我把这个\Build\x64\Release\matcaffe\+caffe\private这个文件夹里面的东西全都拷贝到\matlab\+caffe\private覆盖,然后遇到下面问题
第五步
暴力解决它,把\Build\x64\Debug下的所有的链接文件也就是dll文件也拷贝到这个文件夹去,原文件在这里
拷贝到\matlab\+caffe\private以后是这样
第六步
下载一下model文件放到caffe-master\models\bvlc_reference_caffenet文件夹下
下载地址 链接:http://pan.baidu.com/s/1geUv01l 密码:yp9p
标签文件如下
synset_words.txt地址:
链接:http://pan.baidu.com/s/1c24ty6W 密码:3z7y
测试一下效果,建立一个test.m测试文件,路径如下【忽视readlabel,我自己写的读文件,最后放到test.m里面了】
【最好在matlab里面加一下路径】
代码如下:
<span style="font-size:12px;">%参考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
end</span>
运行之,效果