前言

按照微软的官方地址配置可能会出现一个问题caffe_.mexw64找不到引用模块问题,或者在matlab里面压根找不到caffe_这个函数,下面会提到这两个问题。还是按照步骤来吧

【PS1】有GPU同样按照下述步骤,进行即可

【PS2】文章在matlab2013a、matlab2014a、matlab2015b、matlab2016a、matlab2018a中配置成功,但是在高版本或者更低版本情况下可能会出现问题

matlab2015b下载地址:链接:http://pan.baidu.com/s/1hsmlNeO 密码:o1fu

【注】比较建议安装matlab2015b和VS2013,因为如果涉及到混合编程,MATLAB2012之类的可能无法选择VS2013的编译器。

第一步

修改配置文件,使之支持matlab接口,修改两个地方,第一个是matlabsupport,第二个是matlabdir也就是你的matlab安装目录(对matlab桌面图标右键属性查看):

【PS】最近Microsoft 的github貌似更新了matcaffe中的caffe_.cpp文件,第十六行添加了对gpu/mxGPUArray.h的引用,可以在此步骤的IncludePath中添加MatlabDir,如下所示:

C:\Program Files\MATLAB\R2013a

$(MatlabDir)\extern\lib\win64\microsoft;$(LibraryPath)

$(MatlabDir);$(MatlabDir)\extern\include;$(IncludePath)

然后修改matcaffe中的第十六行#include"gpu/mxGPUArray.h"中修改为

#include

第二步

编译caffe文件夹里面的Windows里面的caffe.sln工程里面的matcaffe一项

【注】此时先选择release选项吧,别用debug了

第三步

使用release编译以后,在\Build\x64\Release下会生成一个matcaffe文件夹,重点要有下面画框的文件。

第四步

【此步是按照微软官方配置方法】这一步不会安装成功,不想看到这种出错情况不要直接跳入第五步,先通读一下第四步,然后除了路径和环境变量不用加,其余的该拷贝还是得拷贝~~~

首先将上一步生成的matcaffe加入matlab的路径中,直接在setpath里面设置

然后将release(如果你的caffe.sln是在Debug下生成的,就把Release换成Debug)加入系统变量path【手动copy进去就行了,我这里没加,因为我测试了一下貌似没啥效果,你们可以试试可以成功不】,加环境变量后记得重启一下

【更新日志】在2016.10.18编译matlab2015b的接口,发现这一步还是必须的,详细看第五步。

最后运行这个demo

遇到的就是我说的找不到caffe_的问题了

接下来我把这个\Build\x64\Release\matcaffe\+caffe\private这个文件夹里面的东西全都拷贝到\matlab\+caffe\private覆盖,然后遇到下面问题

第五步

暴力解决它,把\Build\x64\Debug下的所有的链接文件也就是dll文件也拷贝到这个文件夹去,原文件在这里

拷贝到\matlab\+caffe\private以后是这样

【更新日志】在2016.10.18试了一下matlab 2015b,结果还是出现了

Invalid MEX-file 'E:\caffe-2015b\caffe-windows\matlab\+caffe\private\caffe_.mexw64': 找不到指

定的程序。

出错 caffe.set_mode_cpu (line 5)

caffe_('set_mode_cpu');

出错 classification_demo (line 70)

caffe.set_mode_cpu();

然后试了许久才发现,还是需要在第四步中加入对应的matcaffe根目录,比如我在编译matlab2015b的caffe接口的时候使用了Debug模式(即生成的matcaffe存在于Debug目录下),那么我在环境变量中还是得添加E:\caffe-2015b\caffe-windows\Build\x64\Debug;,然后才解决了这个问题,比较奇怪的是,竟然在matlab2013a和matlab2015b下都能使用matlab/demo/classification.m了。不过解决了就是好事嘛~~

【更新日志】在2016.12.26网友测试了matlab2016a,加上已知评论区的朋友,已知在matlab2016下配置成功了三台机器

按照matlab2015b的配置完毕以后,会出现

错误使用 CHECK (line 4)

invalid Net handle

出错 caffe.Net (line 38)

CHECK(is_valid_handle(hNet_net), 'invalid Net handle');

出错 caffe.get_net (line 28)

net = caffe.Net(hNet);

出错 caffe.Net (line 33)

self = caffe.get_net(varargin{:});

出错 classification_demo (line 84)

net = caffe.Net(net_model, net_weights, phase);

按照评论区网友@zhaocaoou1435的方法“这个问题可以通过在matlab里,把\caffe-master\matlab\+caffe\private文件夹点开,再重新运行就可以了”。

哈哈,感觉这种解决办法好奇怪,原理暂时未知。

第六步

下载一下model文件放到caffe-master\models\bvlc_reference_caffenet文件夹下

下载地址  链接:http://pan.baidu.com/s/1geUv01l 密码:yp9p

标签文件如下

synset_words.txt地址:

链接:https://pan.baidu.com/s/1_cciKtw_a7Njyyn4Dm127g 密码:zzzg

测试一下效果,建立一个test.m测试文件,路径如下【忽视readlabel,我自己写的读文件,最后放到test.m里面了】

【最好在matlab里面加一下路径】

代码如下:

%参考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

运行之,效果

本文同步分享在 博客“风翼冰舟”(CSDN)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

caffe.net matlab,【caffe-Windows】微软官方caffe之 matlab接口配置相关推荐

  1. Caffe学习系列(13):数据可视化环境(python接口)配置

    原文有更新: Caffe学习系列(13):数据可视化环境(python接口)配置 - denny402 - 博客园 http://www.cnblogs.com/denny402/p/5088399. ...

  2. 【caffe-Windows】微软官方caffe之 matlab接口配置

    前言 按照微软的官方地址配置可能会出现一个问题caffe_.mexw64找不到引用模块问题,或者在matlab里面压根找不到caffe_这个函数,下面会提到这两个问题.还是按照步骤来吧 [PS1]有G ...

  3. 微软官方caffe之 matlab接口配置

    前言 按照微软的官方地址配置可能会出现一个问题caffe_.mexw64找不到引用模块问题,或者在matlab里面压根找不到caffe_这个函数,下面会提到这两个问题.还是按照步骤来吧 [PS1]有G ...

  4. 【caffe-Windows】微软官方caffe之 Python接口配置及图片生成实例

    前言 发现许多代码还是用python写的,所以还是配置一下接口吧,虽然博主不会Python,咳咳.在这里使用的python安装包是anaconda2,注意使用Python2.7版本的那个安装包. 官网 ...

  5. Caffe(CPU-only)版本在windows下的安装及配置

    参考文章 win7 + Caffe CPU版本安装 Caffe初体验之Caffe-Windows的配置(CPU/GPU)与Mnist数据集测试 win10下装caffe的cpu版本详解 Windows ...

  6. 【caffe-windows】 caffe-master 之 matlab接口配置

    平台环境: win10 64位 caffe-master  vs2013 Matlab2016a 第一步: 打开\caffe-master\windows下的CommonSettings.props文 ...

  7. 【caffe-windows】Linux至Windows平台的caffe移植

    1.前言 主要参考两篇博客以及很多论坛解决细节问题: http://www.cnblogs.com/trantor/p/4570097.html https://initialneil.wordpre ...

  8. 打包windows 和 linux caffe 版本的人脸识别 人脸年龄估计 人脸性别模型的总结

    周五晚上十二点接到这个任务,周六下午刷qq 看到老师的留言.要求周一交一个版本 开始理解的是要交一个windows 版本的,后来发现是要交一个linux 版本的--坑. 然后我在网上找到微软发布的wi ...

  9. 深度学习模型之各种caffe版本(Linux和windows)的网址

    网:http://caffe.berkeleyvision.org/ 1.最原始的最开始版本:伯克利BVLC版 https://github.com/BVLC/caffe 主要在Linux上运行,有m ...

最新文章

  1. pandas使用groupby函数和count函数返回的是分组下每一列的统计值(不统计NaN缺失值)、如果多于一列返回dataframe、size函数返回分组下的行数结果为Series(缺失值不敏感)
  2. Linux 中的文件锁
  3. Win10计算机首次使用时间,如何查看Win10开机运行了多长时间
  4. ADO.net中临时表DataTable的简单应用
  5. python安装第三方扩展包_【Python】pip - 安装第三方包的神器
  6. office+visio2016版本一同安装说明
  7. linux 开源oa系统,linux版64位免费OA办公系统4.17
  8. java 中文转gb2312_Java将GB2312编码转化为汉字
  9. win10系统开启扫描仪服务器,win10系统打开打印机和扫描仪的操作方法
  10. 华为人到底几点钟下班?
  11. 如何配置线上生产服务器环境(密匙登录、防火墙 、Node、Nginx、MongoDB、Redis、Mysql、PHP、JDK、Tomcat等)
  12. Typora+picgo+gitee图片外链失效,Typora历史笔记无法显示图片
  13. 利用python进行假设检验
  14. 浏览器主页被篡改解决方法
  15. java exit code 137_运维:k8s pod erro exit code 137
  16. 虚拟机kali升级最新_kali安装、改变更新源、vmware tools、虚拟机全屏
  17. 2008服务器系统怎么备份,服务器2008系统备份
  18. 品牌铸造,vivo踏入高端新境界
  19. android程序字体大小,Android 动态调整应用字体大小
  20. leetcode1079.活字印刷C++

热门文章

  1. jboot_jboot这些框架有意义吗
  2. 公共关系计算机操作题,Access上机操作题库.doc
  3. 为什么要做小程序?90%的商家不知道的好处!
  4. 西安恒智小寨java_Java常用异常整理
  5. 【论文复现,含代码】MatchNet: Unifying Feature and Metric Learning for Patch-Based Matching
  6. 网易互娱2017实习生招聘游戏研发工程师在线笔试第二场(一起消消毒)
  7. 物联网卡要求实名认证的真正原因你知道吗?
  8. JPA实现领域驱动设计(DDD) 中值对象的持久化
  9. 华为matebook14摄像头无法启动问题
  10. Inspiron光驱改装固态硬盘_Win10系统安装