一、VS2013编译工程
VS2013打开MSVCmex这个工程,直接运行发现不能编译。
修改如下用editplus打开matcaffe.vcxproj中,把里面所有的cuda6.0改成cuda6.5,之后把其中所有的C:/programme/matlab改为你自己的matlab地址。保存。
编译工程里面的matcaffe一项,此时先选择release选项,x64
编译好之后得到mex文件,
matlab/+caffe/private里会生成caffe_.mwxw64.
二、matlab接口
编译好之后得到mex文件,这是类似于C++工程的dll文件,是matlab的动态链接库(姑且这么理解),进入matlab,cd到
......\fcaffe-windows-master-happynear\
matlab\demo(路径中要有
matcaffe_demo函数
)
,
输入im = imread('peppers.png');
[scores, maxlabel] = matcaffe_demo(im,1);
[scores, maxlabel] = matcaffe_demo(im,1);
【提示错误】可能是在examples/imagent没有训练集文件caffe_reference_imagenet_model,
下载一下model文件放到.....\models\bvlc_reference_caffenet文件夹下,下载地址 链接:http://pan.baidu.com/s/1geUv01l 密码:yp9p
【最好在matlab里面加一下路径 set path】
我的路径是D:\......\caffe-windows-master-happynear\build_cpu_only\MSVCmex\Release(就是新生成的那个库的路径吧?)
代码
clear clc im = imread('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 %有网格