【caffe-windows】 caffe-master 之 matlab接口配置
平台环境: 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源码如下:
- %参考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
运行结果如图:
【caffe-windows】 caffe-master 之 matlab接口配置的更多相关文章
- Caffe实战五(Caffe可视化方法:编译matlab接口)
接上一篇文章,这里给出配置caffe后编译matlab接口的方法.(参考:<深度学习 21天实战Caffe 第16天 Caffe可视化方法>) 1.将Matlab目录更新至Caffe的Ma ...
- 【caffe-Windows】微软官方caffe之matlab接口配置,以及安装caffe的注意事项
1.在此之前,记录一下之前的错误,在参考博客[caffe-Windows]caffe+VS2013+Windows+GPU配置+cifar使用进行caffe的安装时,其中的一些步骤可以不做,具体见下图 ...
- caffe在windows 下的配置及matlab接口编译(无GPU)
本人机子windows 10,matlab2015a,vs2013(官网使用的是vs2013) 1.首先去github上下载caffe的windows包,地址:https://github.com/B ...
- caffe 在window下编译(windows7, cuda8.0,matlab接口编译)
1. 环境:Windows7,Cuda8.0,显卡GTX1080,Matlab2016a,VS2013 (ps:老板说服务器要装windows系统,没办法,又要折腾一番,在VS下编译好像在cuda8. ...
- win7下编译Microsoft版的caffe包的MATLAB接口(CPU模式)
本博客是基于http://www.cnblogs.com/njust-ycc/p/5776286.html这篇博客修改的,做出了更正与补充. 本人机器的环境:Win7+MATLAB2014b+VS20 ...
- windows下caffe安装配置、matlab接口
一.CommonSettings.props caffe下载后解压.源代码文件夹caffe-master,到该文件夹下的windows文件夹下,将CommonSettings.props.exampl ...
- matlab下的caffe接口配置(Windows)
本文基于大部分网上方法 http://blog.csdn.net/d5224/article/details/51916178,外加一点自己的个人实际配置经历,环境变量在配置后尽管显示正确并且重启多次 ...
- windows配置caffe + python和matlab接口
参考: http://blog.csdn.net/baidu_26408419/article/details/53711640 http://www.cnblogs.com/love6tao/p/5 ...
- Windows+Caffe+VS2013+python接口配置过程
前段时间在笔记本上配置了Caffe框架,中间过程曲曲折折,但由于懒没有将详细过程总结下来,这两天又在一台配置较高的台式机上配置了Caffe,配置时便非常后悔当初没有写到博客中去,现已配置好Caffe, ...
随机推荐
- CodeForces 686B-Little Robber Girl's Zoo
题目: 有n头数量的动物,开始它们站在一排,它们之间有高度差,所以需要将它们进行交换使得最终形成一个不减的序列,求它们交换的区间.交换的规则:一段区间[l, r]将l与l+1.l+2与l+3..... ...
- Android Camera进行拍照
Android应用提供了Camera来控制拍照,使用Camera进行拍照的步骤: 1.调用Camera的open()方法打开相机. 2.调用Camera的getParameters()方法获取拍照参数 ...
- 批处理与python代码混合编程的实现方法
批处理可以很方便地和其它各种语言混合编程,除了好玩,还有相当的实用价值, 比如windows版的ruby gem包管理器就是运用了批处理和ruby的混合编写, bathome出品的命令工具包管理器bc ...
- 2014年3月份第4周51Aspx源码发布详情
足购库存管理系统源码 2014-3-24 [VS2010]功能介绍:这是为一个卖鞋子的朋友设计的,本来要用SQL数据库的,可是他说他不想安装,怕拖电脑速度,没办法,用了Access,在数据同步上和S ...
- UIMenuController的使用,对UILabel拷贝以及定制菜单
分类: ios开发2012-08-06 17:15 11961人阅读 评论(0) 收藏 举报 actionmenuuiview 1. Menu所处的View必须实现 – (BOOL)canBecome ...
- 黑马程序员——【Java基础】——泛型、Utilities工具类、其他对象API
---------- android培训.java培训.期待与您交流! ---------- 一.泛型 (一)泛型概述 1.泛型:JDK1.5版本以后出现的新特性,用于解决安全问题,是一个类型安全机制 ...
- ios学习之UISwipeGestureRecognizer手势识别
ios学习之UISwipeGestureRecognizer手势识别 本文部分转自俺是一个瓜娃!!!的博客UISwipeGestureRecognizer ---手指动作,转载过来仅是为了自己查询 ...
- Android 中pid与uid的作用与区别
PID:为Process Identifier, PID就是各进程的身份标识. 程序一运行系统就会自动分配给进程一个独一无二的PID.进程中止后PID被系统回收,可能会被继续分配给新运行的程序,但是在 ...
- hdu 4336 Card Collector
dp+状态压缩 #include<cstdio> using namespace std; ]; <<]; int main() { int n; while(scanf(&q ...
- struts2 的验证框架validation如何返回json数据 以方便ajax交互
struts2 的验证框架validation简单,好用,但是input只能输出到jsp页面通过struts2的标签<s:fielderror />才能取出,(EL应该也可以). 如果使 ...