本博客是基于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模式)的更多相关文章

  1. 一步步实现windows版ijkplayer系列文章之四——windows下编译ijkplyer版ffmpeg

    一步步实现windows版ijkplayer系列文章之一--Windows10平台编译ffmpeg 4.0.2,生成ffplay 一步步实现windows版ijkplayer系列文章之二--Ijkpl ...

  2. libevent学习之二:Windows7(Win7)下编译libevent

    Linux下编译参考源码中的README文件即可,这里主要记录Windows下的编译. 一.准备工作 去官网下载最新的稳定发布版本libevent-2.0.22-stable 官网地址:http:// ...

  3. win7 下vs2008试用版破解

    用过微软的开发套件Visual Studio 2008,如果用的是试用版本,超过90天,就会过期,出现下面这张图片显示的 下面介绍破解的步骤: 1.首先打开控制面板——然后找到卸载或更改程序——然后找 ...

  4. 在虚拟机linux环境下编译windows版adb fastboot

    原文出自:http://blog.chinaunix.net/uid-20546441-id-1746200.html 我根据虚拟机编译遇到的问题进行一些添加 [前提条件] Linux Android ...

  5. 64位Win7下编译Python3的计算机视觉库:OpenCV

    注:本文全原创,作者:Noah Zhang  (http://www.cnblogs.com/noahzn/) OpenCV目前最新版是3.0.0 rc1,官方给出了编译好的Python2可以直接使用 ...

  6. 64位Win7下编译hadoop 1.2.1问题解决

    0.报sed的错误.原因在于没有安装cygwin.安装cygwin的时候要选择sed 1.Cannot run program "autoreconf". 这个问题在网上看了很多解 ...

  7. Linux下编译java并生成jar包

    下面是WordCount.java类 package com.ll; import java.io.IOException; import java.util.Iterator; import jav ...

  8. Ubuntu/Debian下编译PC版的ffmpeg

    1.安装git: 在命令行下执行 sudo apt-get install git-core 2.下载最新版本的ffmpeg: git clone git://source.ffmpeg.org/ff ...

  9. windos10环境下编译python3版pjsua库

    环境:windows10_x64python3.9_x64pjsua-2.10vs2015 pjsua编译参考这里: https://www.cnblogs.com/MikeZhang/p/pjsip ...

随机推荐

  1. Deformable Convolutional Network

    Deformable conv赋予了CNN位置变换的能力,与普通卷积的对比如下.可以看到,在每个特征点上,会产生一个偏移,变成 不规则的卷积(感觉本质上,就是让CNN自己去学习感受野). 思想来源于S ...

  2. 【python】随机数用法

    全文拷贝自:Python随机数用法 random.seed(int) 给随机数对象一个种子值,用于产生随机序列. 对于同一个种子值的输入,之后产生的随机数序列也一样. 通常是把时间秒数等变化值作为种子 ...

  3. vertx实例的fileSystem文件系统模块

    初始化 //根据OS区分实现 System.getProperty("os.name").toLowerCase(); Utils.isWindows() ? new Window ...

  4. 利用ApplicationContextAware装配Bean

    @Component public class SpringUtil implements ApplicationContextAware { private static ApplicationCo ...

  5. Android+openCV人脸检测2(静态图片)

    前几篇文章中有提到对openCV环境配置,这里再重新梳理导入和使用openCV进行简单的人脸检测(包括使用级联分类器) 一 首先导入openCVLibrary320 二 设置gradle的sdk版本号 ...

  6. %E6%9D%8E%E9%9B%B7是什么编码

    在这个网站上可以进行解码http://tool.chinaz.com/Tools/URLEncode.aspx

  7. 前后台得到WEB应用的名称

    前台得到当前应用的名称: ${ pageContext.request.contextPath } 后台得到当前应用的名称: request.getServletContext().getContex ...

  8. flask微电影系统开发中上下文处理器

    在做日志模块开发的过程中,我们遇到了一个问题,就是日期的问题,我们这个时间就要用到上下文处理器来解决问题,他的作用就是可以在我们固定模块中进行传递,我们的模块如下 @admin.context_pro ...

  9. Beta(5/7)

    鐵鍋燉腯鱻 项目:小鱼记账 团队成员 项目燃尽图 冲刺情况描述 站立式会议照片 各成员情况 团队成员 学号 姓名 git地址 博客地址 031602240 许郁杨 (组长) https://githu ...

  10. Linux命令行参数前加--,-和不加杠

    参数前“-”的表明后面的参数是字符形式. 参数前“--”的则表明后面的参数是单词形式. 参数前有横的是System V风格. 参数前没有横的是BSD风格.