本博客是基于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. kafka_2.11-2.1.0测试

    kafka测试启动创建topic ./kafka-topics.sh --create --zookeeper dip005:2181,dip006:2181,dip007 --replication ...

  2. java学习 之 java基本数据类型

    java 8个基本数据类型 public class BasicDataType { public static void main(String args[]) { //数据类型 //Byte Sy ...

  3. 百度地图api文档实现任意两点之间的最短路线规划

    两个点之间的路线是使用“Marker”点连接起来的,目前还没找到改变点颜色的方法,测试过使用setStyle没有效果. <html><head> <meta http-e ...

  4. 微信小程序支付开发之申请退款

    微信小程序支付跟微信公众号支付类似,这里不另做记录,如果没有开发过支付,可以查看我关于微信支付的文章 重点记录微信小程序申请退款开发过程中遇到一些坑. 退款接口比支付接口接口多了一个 双向证书 证书介 ...

  5. pta总结2

    7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成"贰万叁仟壹百零捌"元.为了简 ...

  6. jquery刷新页面代码

    window.location.reload()刷新当前页面.parent.location.reload()刷新父亲对象(用于框架)opener.location.reload()刷新父窗口对象(用 ...

  7. Django REST framework serializer 嵌套显示绝对路径

    在 Django REST framework官方文档提到,当调用Serializer时,应当传入request参数,以便生成完整的url而不是相对url.使用ModelSerializer时requ ...

  8. Kafka生产者发送消息的三种方式

    Kafka是一种分布式的基于发布/订阅的消息系统,它的高吞吐量.灵活的offset是其它消息系统所没有的. Kafka发送消息主要有三种方式: 1.发送并忘记 2.同步发送 3.异步发送+回调函数 下 ...

  9. js 30Dom应用

    1.open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口. 给open传网址 如果是外站就加个http  <input type="button" value= ...

  10. C# 接口属性的定义&get、set访问器的简单应用

    using System; using System.Collections.Generic; using System.Linq; using System.Text;   namespace 接口 ...