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

本博客是基于http://www.cnblogs.com/njust-ycc/p/5776286.html这篇博客修改的,做出了更正与补充。 

本人机器的环境:Win7+MATLAB2014b+VS2013

 

1.首先去github上下载Microsoft的caffe包,地址:https://github.com/microsoft/caffe

   下载完后,解压得到:

                                     

  把   caffe-master\windows   路径下的 CommonSettings.props.example 复制一份,并且后缀名改成 .props

2.进去找到windows文件夹,进入windows文件夹,找到Caffe.sln文件,这就是要打开的项目文件,如下:

                                     

3.使用vs2013打开Caffe.sln项目文件,打开后目录文件如下所示:

                                   

4.因为这里是无gpu配置,并且还要编译matlab接口,首先要修改props目录下的CommonSettings.props配置文件,就是这个:

                                       

  打开该配置文件,修改以下几个地方:因为我们是CPU下配置,且支持matlab接口,其他地方不要修改。

                                

  修改matlab安装的根目录:

                               

这里是因为Microsoft 的github貌似更新了matcaffe中的caffe_.cpp文件,第十六行添加了对gpu/mxGPUArray.h的引用,可以在此步骤的IncludePath中添加MatlabDir。

 

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

 

5.差不多该修改的文件都已经修改完了,然后我们开始进行编译,选择Release模式,(当然debug也行)

                                  

右击matcaffe项目,点击重新生成

                                

                               

 注意,由于这个版本的caffe-windows包,不需要自己下载第三方库,它会自动去下载的,这个过程比较慢,因此首次编译的时候会自动下载第三方库,耐心等待即可。

  下载完后,在caffe-windows文件夹下多了一个:

                               

打开可以看到有16个文件夹,这些都是第三方的依赖库

                              

下载完后,应该会继续编译,等个几分钟,直到编译成功。

                          

6.编译成功后,我们进入如下目录:

                                 

    可以看到成功生成了matcaffe文件夹 以及caffe.exe可执行文件,还有其他一些依赖文件,caffe.exe是用来进行网络训练的。

                               

  打开matcaffe文件夹,进入+caffe,再进入private,如果成功生成了caffe_mexw64文件,说明matlab接口配置成功了。

                           

7.最后我们在matlab里进行测试,(这里还可以参考下http://blog.csdn.net/zb1165048017/article/details/51702686这篇博客,“第四步”之后~)

   首先添加系统路径(path):路径深度到Release目录为止,比如,我这里是E:\科研\deep-learning\caffe-windows\caffe-windows\Build\x64\Release,

  然后打开matlab2015a, 添加路径,路径深度到matcaffe目录为止,比如,我这里是E:\科研\deep-learning\caffe-windows\caffe-windows\Build\x64\Release\matcaffe

                              

                             

                             

       保存后,重启matlab,不然测试时会报找不到caffe_mexw64模块的错误。

      在控制台输入一个函数作为测试:

        caffe.reset_all();

       可以看到如下:

        

      说明matlab接口可以使用了。

 

 

 

                               

posted @ 2017-05-06 13:00  Maitre.Zhao  阅读(1071)  评论(0编辑  收藏  举报