zoukankan      html  css  js  c++  java
  • 【caffe-windows】 caffe-master 之 matlab接口配置

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

    第一步:

    打开caffe-masterwindows下的CommonSettings.props文件,

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

     

     如图:

     

     

     

    第二步:

    更改matlab的路径,

     

    如图:

     

     

     

    第三步:

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

    复制这段code:

     

    <IncludePath>$(MatlabDir)externinclude;$(MatlabDir) oolboxdistcompgpuexterninclude;$(IncludePath)</IncludePath>

     

    如图:

     

     

     

     

    第四步: 

    打开caffe-masterwindows 下的 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:NugetPackagesOpenCV.2.4.10uild ativeOpenCV.targets  772 5  libcaffe

    选择重新生成,可以解决。当然,没出错的同学忽略。

     

     

    生成完毕后在caffe-masterBuildx64Releasematcaffe+caffeprivate下会有文件 :caffe_.mexw64

     

     

     

    第五步:

    打开matlab,添加路径

     

    如图:

     

     

    第六步:

    添加系统环境变量,把..caffe-masterBuildx64Release  添加到系统环境变量中,如图:

     

    否者在运行 demo.m时候出会出现如下错误: 

    Invalid MEX-file'D:caffe-masterBuildx64Releasematcaffe+caffeprivatecaffe_.mexw64': 找不到指定的模块。

     出错 caffe.set_mode_cpu (line 5)

    caffe_('set_mode_cpu');

     出错 classification_demo (line 71)

     caffe.set_mode_cpu();

     

     

    第七步:

    将caffe-masterBuildx64Debug中所有dll文件全复制到caffe-mastermatlab+caffeprivate

     

    如图:

     

     

    第八步:

    下载model文件(bvlc_reference_caffenet.caffemodel)放到caffe-mastermodelsvlc_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.   
    5. im = imread('../../examples/images/cat.jpg');%读取图片  
    6. figure;imshow(im);%显示图片  
    7. [scores, maxlabel] = classification_demo(im, 0);%获取得分第二个参数0为CPU,1为GPU  
    8. maxlabel %查看最大标签是谁  
    9. figure;plot(scores);%画出得分情况  
    10. axis([0, 999, -0.1, 0.5]);%坐标轴范围  
    11. grid on %有网格  
    12.   
    13. fid = fopen('synset_words.txt', 'r');  
    14. i=0;  
    15. while ~feof(fid)  
    16.     i=i+1;  
    17.     lin = fgetl(fid);  
    18.     lin = strtrim(lin);  
    19.     if(i==maxlabel)  
    20.         fprintf('the label of %d is %s ',i,lin)  
    21.         break  
    22.     end  

    23. end  

    运行结果如图:

     

     

     

  • 相关阅读:
    MyBatis执行sql的整个流程
    Ftp传输:向linux服务器上传文件时“550 Permission denied.”错误问题解决
    SpringBoot框架:两个方法同时调用时父方法使内部方法的DataSource注解失效的解决办法
    SpringBoot框架:通过AOP和自定义注解完成druid连接池的动态数据源切换(三)
    SpringBoot框架:配置文件application.properties和application.yml的区别
    SpringBoot框架:'url' attribute is not specified and no embedded datasource could be configured问题处理
    bash脚本打印字符串一个空格的内容
    gethostbyname的线程安全
    算法工程师的职业规划
    理解Deep Link & URI Schemes & Universal Link & App Link
  • 原文地址:https://www.cnblogs.com/TensorSense/p/6260284.html
Copyright © 2011-2022 走看看