• matlab下的caffe接口配置(Windows)


    本文基于大部分网上方法 http://blog.csdn.net/d5224/article/details/51916178,外加一点自己的个人实际配置经历,环境变量在配置后尽管显示正确并且重启多次仍然无法生效,需要手动激活,具体如下。

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

     

      

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

     

    (3)使用release编译以后,在Buildx64Release下会生成一个matcaffe文件夹,重点要有下面画框的文件。

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

     

    然后将release加入系统变量,

     

    “”重启计算机“”使环境变量生效。

    若遇到找不到caffe_的问题,则可以采取作者的暴力解决方法。

    把这Buildx64Releasematcaffe+caffeprivate这个文件夹里面的东西全都拷贝到matlab+caffeprivate覆盖,然后可能遇到下面问题caffe_.mexw64找不到引用模块问题,本文在配置时也遇到了这个问题,但是重启后就解决了应该是配置环境变量后没有重启的缘故。如还有问题则按下满的方法暴力解决。

    (5)把Buildx64Debug下的所有的链接文件也就是dll文件也拷贝到这个文件夹去,原文件在这里

    拷贝到matlab+caffeprivate以后是这样

     

    到这里为止,都是和网上其他方法一样的,但本人遇到了更奇葩的问题,即使如此配置,matlab始终显示找不到caffe接口,出现“找不到指定模块“的错误,最后怀疑是环境变量没生效导致,尽管已重启多次,并且在环境变量中显示正确,但仍然没生效,于是在cmd中输入命令caffe,出现如下界面,算是激活环境变量吧。。此后再次运行demo则运行正确。

    (6)下载一下model文件放到caffe-mastermodelsvlc_reference_caffenet文件夹下

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

      

    标签文件如下

    synset_words.txt地址:

    链接:http://pan.baidu.com/s/1c24ty6W 密码:3z7y

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

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

    测试代码:

     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  

    运行结果如下:
     

  • 相关阅读:
    第一个SWT程序
    稀疏数组
    算法与数据结构
    《Java核心技术》学习笔记 第1-3章
    算术运算符
    5.11 rw zip file
    5.10 gob序列化
    5.9 piping between writer and reader
    5.7 io.MultiWriter(buf, f)
    5.7 读写 二进制数据
  • 原文地址:https://www.cnblogs.com/pkjplayer/p/7354685.html
Copyright © 2020-2023  润新知