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

第一步:

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

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

如图:

第二步:

更改matlab的路径,

如图:

第三步:

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

复制这段code:

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

如图:

第四步:

打开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,添加路径

如图:

第六步:

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

否者在运行 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

如图:

第八步:

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

下载地址  链接:http://pan.baidu.com/s/1geUv01l密码:yp9p(出处:http://blog.csdn.net/zb1165048017/article/details/51702686

第九步:

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

链接:http://pan.baidu.com/s/1c24ty6W密码:3z7y(出处:http://blog.csdn.net/zb1165048017/article/details/51702686

第十步:

打开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');

第十一步:

在运行一个测试文件test_mat.m, 文件出处(出处:http://blog.csdn.net/zb1165048017/article/details/51702686

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

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

test_mat.m源码如下:

  1. %参考http://www.aichengxu.com/view/2422137
  2. clear
  3. clc
  4. im = imread('../../examples/images/cat.jpg');%读取图片
  5. figure;imshow(im);%显示图片
  6. [scores, maxlabel] = classification_demo(im, 0);%获取得分第二个参数0为CPU,1为GPU
  7. maxlabel %查看最大标签是谁
  8. figure;plot(scores);%画出得分情况
  9. axis([0, 999, -0.1, 0.5]);%坐标轴范围
  10. grid on %有网格
  11. fid = fopen('synset_words.txt', 'r');
  12. i=0;
  13. while ~feof(fid)
  14. i=i+1;
  15. lin = fgetl(fid);
  16. lin = strtrim(lin);
  17. if(i==maxlabel)
  18. fprintf('the label of %d is %s\n',i,lin)
  19. break
  20. end

23. end

运行结果如图:

【caffe-windows】 caffe-master 之 matlab接口配置的更多相关文章

  1. Caffe实战五(Caffe可视化方法:编译matlab接口)

    接上一篇文章,这里给出配置caffe后编译matlab接口的方法.(参考:<深度学习 21天实战Caffe 第16天 Caffe可视化方法>) 1.将Matlab目录更新至Caffe的Ma ...

  2. 【caffe-Windows】微软官方caffe之matlab接口配置,以及安装caffe的注意事项

    1.在此之前,记录一下之前的错误,在参考博客[caffe-Windows]caffe+VS2013+Windows+GPU配置+cifar使用进行caffe的安装时,其中的一些步骤可以不做,具体见下图 ...

  3. caffe在windows 下的配置及matlab接口编译(无GPU)

    本人机子windows 10,matlab2015a,vs2013(官网使用的是vs2013) 1.首先去github上下载caffe的windows包,地址:https://github.com/B ...

  4. caffe 在window下编译(windows7, cuda8.0,matlab接口编译)

    1. 环境:Windows7,Cuda8.0,显卡GTX1080,Matlab2016a,VS2013 (ps:老板说服务器要装windows系统,没办法,又要折腾一番,在VS下编译好像在cuda8. ...

  5. win7下编译Microsoft版的caffe包的MATLAB接口(CPU模式)

    本博客是基于http://www.cnblogs.com/njust-ycc/p/5776286.html这篇博客修改的,做出了更正与补充. 本人机器的环境:Win7+MATLAB2014b+VS20 ...

  6. windows下caffe安装配置、matlab接口

    一.CommonSettings.props caffe下载后解压.源代码文件夹caffe-master,到该文件夹下的windows文件夹下,将CommonSettings.props.exampl ...

  7. matlab下的caffe接口配置(Windows)

    本文基于大部分网上方法 http://blog.csdn.net/d5224/article/details/51916178,外加一点自己的个人实际配置经历,环境变量在配置后尽管显示正确并且重启多次 ...

  8. windows配置caffe + python和matlab接口

    参考: http://blog.csdn.net/baidu_26408419/article/details/53711640 http://www.cnblogs.com/love6tao/p/5 ...

  9. Windows+Caffe+VS2013+python接口配置过程

    前段时间在笔记本上配置了Caffe框架,中间过程曲曲折折,但由于懒没有将详细过程总结下来,这两天又在一台配置较高的台式机上配置了Caffe,配置时便非常后悔当初没有写到博客中去,现已配置好Caffe, ...

随机推荐

  1. CodeForces 686B-Little Robber Girl's Zoo

    题目: 有n头数量的动物,开始它们站在一排,它们之间有高度差,所以需要将它们进行交换使得最终形成一个不减的序列,求它们交换的区间.交换的规则:一段区间[l, r]将l与l+1.l+2与l+3..... ...

  2. Android Camera进行拍照

    Android应用提供了Camera来控制拍照,使用Camera进行拍照的步骤: 1.调用Camera的open()方法打开相机. 2.调用Camera的getParameters()方法获取拍照参数 ...

  3. 批处理与python代码混合编程的实现方法

    批处理可以很方便地和其它各种语言混合编程,除了好玩,还有相当的实用价值, 比如windows版的ruby gem包管理器就是运用了批处理和ruby的混合编写, bathome出品的命令工具包管理器bc ...

  4. 2014年3月份第4周51Aspx源码发布详情

    足购库存管理系统源码  2014-3-24 [VS2010]功能介绍:这是为一个卖鞋子的朋友设计的,本来要用SQL数据库的,可是他说他不想安装,怕拖电脑速度,没办法,用了Access,在数据同步上和S ...

  5. UIMenuController的使用,对UILabel拷贝以及定制菜单

    分类: ios开发2012-08-06 17:15 11961人阅读 评论(0) 收藏 举报 actionmenuuiview 1. Menu所处的View必须实现 – (BOOL)canBecome ...

  6. 黑马程序员——【Java基础】——泛型、Utilities工具类、其他对象API

    ---------- android培训.java培训.期待与您交流! ---------- 一.泛型 (一)泛型概述 1.泛型:JDK1.5版本以后出现的新特性,用于解决安全问题,是一个类型安全机制 ...

  7. ios学习之UISwipeGestureRecognizer手势识别

    ios学习之UISwipeGestureRecognizer手势识别   本文部分转自俺是一个瓜娃!!!的博客UISwipeGestureRecognizer ---手指动作,转载过来仅是为了自己查询 ...

  8. Android 中pid与uid的作用与区别

    PID:为Process Identifier, PID就是各进程的身份标识. 程序一运行系统就会自动分配给进程一个独一无二的PID.进程中止后PID被系统回收,可能会被继续分配给新运行的程序,但是在 ...

  9. hdu 4336 Card Collector

    dp+状态压缩 #include<cstdio> using namespace std; ]; <<]; int main() { int n; while(scanf(&q ...

  10. struts2 的验证框架validation如何返回json数据 以方便ajax交互

    struts2 的验证框架validation简单,好用,但是input只能输出到jsp页面通过struts2的标签<s:fielderror  />才能取出,(EL应该也可以). 如果使 ...