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接口可以使用了。
win7下编译Microsoft版的caffe包的MATLAB接口(CPU模式)的更多相关文章
- 一步步实现windows版ijkplayer系列文章之四——windows下编译ijkplyer版ffmpeg
一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...
- libevent学习之二:Windows7(Win7)下编译libevent
Linux下编译参考源码中的README文件即可,这里主要记录Windows下的编译. 一.准备工作 去官网下载最新的稳定发布版本libevent-2.0.22-stable 官网地址:http:// ...
- win7 下vs2008试用版破解
用过微软的开发套件Visual Studio 2008,如果用的是试用版本,超过90天,就会过期,出现下面这张图片显示的 下面介绍破解的步骤: 1.首先打开控制面板——然后找到卸载或更改程序——然后找 ...
- 在虚拟机linux环境下编译windows版adb fastboot
原文出自:http://blog.chinaunix.net/uid-20546441-id-1746200.html 我根据虚拟机编译遇到的问题进行一些添加 [前提条件] Linux Android ...
- 64位Win7下编译Python3的计算机视觉库:OpenCV
注:本文全原创,作者:Noah Zhang (http://www.cnblogs.com/noahzn/) OpenCV目前最新版是3.0.0 rc1,官方给出了编译好的Python2可以直接使用 ...
- 64位Win7下编译hadoop 1.2.1问题解决
0.报sed的错误.原因在于没有安装cygwin.安装cygwin的时候要选择sed 1.Cannot run program "autoreconf". 这个问题在网上看了很多解 ...
- Linux下编译java并生成jar包
下面是WordCount.java类 package com.ll; import java.io.IOException; import java.util.Iterator; import jav ...
- Ubuntu/Debian下编译PC版的ffmpeg
1.安装git: 在命令行下执行 sudo apt-get install git-core 2.下载最新版本的ffmpeg: git clone git://source.ffmpeg.org/ff ...
- windos10环境下编译python3版pjsua库
环境:windows10_x64python3.9_x64pjsua-2.10vs2015 pjsua编译参考这里: https://www.cnblogs.com/MikeZhang/p/pjsip ...
随机推荐
- Deformable Convolutional Network
Deformable conv赋予了CNN位置变换的能力,与普通卷积的对比如下.可以看到,在每个特征点上,会产生一个偏移,变成 不规则的卷积(感觉本质上,就是让CNN自己去学习感受野). 思想来源于S ...
- 【python】随机数用法
全文拷贝自:Python随机数用法 random.seed(int) 给随机数对象一个种子值,用于产生随机序列. 对于同一个种子值的输入,之后产生的随机数序列也一样. 通常是把时间秒数等变化值作为种子 ...
- vertx实例的fileSystem文件系统模块
初始化 //根据OS区分实现 System.getProperty("os.name").toLowerCase(); Utils.isWindows() ? new Window ...
- 利用ApplicationContextAware装配Bean
@Component public class SpringUtil implements ApplicationContextAware { private static ApplicationCo ...
- Android+openCV人脸检测2(静态图片)
前几篇文章中有提到对openCV环境配置,这里再重新梳理导入和使用openCV进行简单的人脸检测(包括使用级联分类器) 一 首先导入openCVLibrary320 二 设置gradle的sdk版本号 ...
- %E6%9D%8E%E9%9B%B7是什么编码
在这个网站上可以进行解码http://tool.chinaz.com/Tools/URLEncode.aspx
- 前后台得到WEB应用的名称
前台得到当前应用的名称: ${ pageContext.request.contextPath } 后台得到当前应用的名称: request.getServletContext().getContex ...
- flask微电影系统开发中上下文处理器
在做日志模块开发的过程中,我们遇到了一个问题,就是日期的问题,我们这个时间就要用到上下文处理器来解决问题,他的作用就是可以在我们固定模块中进行传递,我们的模块如下 @admin.context_pro ...
- Beta(5/7)
鐵鍋燉腯鱻 项目:小鱼记账 团队成员 项目燃尽图 冲刺情况描述 站立式会议照片 各成员情况 团队成员 学号 姓名 git地址 博客地址 031602240 许郁杨 (组长) https://githu ...
- Linux命令行参数前加--,-和不加杠
参数前“-”的表明后面的参数是字符形式. 参数前“--”的则表明后面的参数是单词形式. 参数前有横的是System V风格. 参数前没有横的是BSD风格.