前段时间在笔记本上配置了Caffe框架,中间过程曲曲折折,但由于懒没有将详细过程总结下来,这两天又在一台配置较高的台式机上配置了Caffe,配置时便非常后悔当初没有写到博客中去,现已配置好Caffe,故应当立即写到博客中去,不可再拖延~

准备工具:Win7(64位);Caffe;vs2013;anaconda;

(附注:1.Caffe下载链接:https://github.com/Microsoft/caffe(这其中有两个版本,一个是Caffe-Windows(微软制作),一个是Caffe-Master(贾教授的作品),两者区别就是Master共16个项目,比Windows多一个Caffe Managed 项目,笔者用的是Master版本,不过网上用Caffe-Windows的也很多,应该都可以用。。

2.VS2013迅雷下载链接:http://download.microsoft.com/download/B/1/9/B1932B8C-1046-4773-A1DD-4AB5C0978637/vs2013.2_ult_chs.iso,笔者这里用的VS2013的update2版本,之前在笔记本上用的是update5版本没出什么问题,现在在台式机上用update5版本,在加载Caffe项目时,提示要升级项目中的库(我怀疑update5和VS2015有点联系。。网上说VS2015对Caffe的兼容性并不太好,后来我也出了各种问题,有可能是我操作的问题,各位可以自行操作)

3.anaconda下载:直接上Anaconda的官网,找到对应于自己的系统,所用Python版本的anaconda,下载下来,笔者这里用的是ananconda2。)

下载好所需的工具后,我们就开始配置了:

1.首先解压Caffe-Master文件夹,复制Windows->CommanSetting.props.example文件,重命名为CommanSetting.props文件,并删除原始的.example文件,如下:

如果不删除.example文件,打开.props文件时,可能就会出现如下的问题:

2.用VS打开Windows->Caffe.sln解决方案,在CommanSettings.props文件中修改相应内容:

(笔者这里只用CPU和Python接口)

注意!这里只需要修改上图中的第7、8、13、48行,其他地方不要修改!!!要不然编译的时候会出现各种语法错误以及其他*疼的问题。。。

对了,这里有可能出现libcaffe和test_all加载失败的情况,这时候删掉Caffe-Master文件夹,重新进行解压,重新打开,基本可以解决:

3.修改好配置文件后,就可以进行编译Caffe了(注意:一定要使用Release格式,要不然后期用caffe.exe训练网络时时间很长):

这时候,会弹出一个框,表示正在在下第三方库,里面包括openCV之类的库,下载完后可以发现:

不过如果是学校的网,由于是内网,下载速度将会很慢,可能会各种无响应或者无法连接到远程服务器等等(我当时花了n个小时,阿西吧。。),各位可以在网上下载好NuGetPackages文件夹直接放在Caffe-Master并列文件夹中,编译之前进行如下操作:

取消掉上图中的两个钩,不过这种方法笔者没有试(快要放弃的时候NuGet程序包还原好了。。。,注意,若用内网下载的时候最好不要进行操作。。。)

编译中间可能会出现以下几种情况:

(1)生成解决方案失败,提示说无法打开libcaffe.lib之类的error。解决方法是直接对libcaffe重新生成,或者直接生成一次

然后,接着会出现的问题:没有生成object文件;解决办法:双击此错误,保存弹出来的框,然后再对libcaffe“重新生成一次”

还有出现一些错误有可能有帮助的操作,右击项目,在属性->C/C++->常规中,设置 将警告视为错误 为否。

还有可能是提示无法打开包括文件python.h之类的,可以先在配置文件里取消python接口,编译整个项目,这个错误就不会产生,然后再将pycaffe设为启动项目,同时设置python接口,再编译pycaffe即可;

出现其他错误就需要各位自己在网上进行搜索了。。。。。

编译成功后,设置属性:

然后运行caffe.cpp,按ctrl+F5进行编译:

如果出现一下情况:

解决办法是重启电脑

出现下面的窗口说明编译成功:

以上,我们就暂时配置好了Caffe,现在我们可以用Caffe来跑一下最简单的mnist数据集,方法如下:

1.(1)去官网http://yann.lecun.com/exdb/mnist/下载mnist数据集。

下载后解压到E:\caffe\data\mnist,放在两个文件夹中,如下图所示:

2。在caffe根目录下,新建一个create_mnist.bat,里面写入如下的脚本:

这里,笔者将Release改为了Debug,因为笔者的.exe文件在Debug中~

然后双击该脚本运行,即可在E:\caffe\examples\mnist下面生成相应的lmdb数据文件:

3.

修改E:\caffe\examples\mnist\lenet_solver.prototxt,将最后一行改为solver_mode:CPU,

修改E:\caffe\examples\mnist\lenet_train_test.prototxt,如下所示,左面为原始的,右面为修改后的:

4.在caffe根目录下,新建train_mnist.bat,然后输入如下的脚本:

当然笔者在这里也将Release改成了Rebug~

然后双击运行,就会开始训练,训练完毕后会得到相应的准确率和损失率

好了,现在我们来配置python接口:

对pycaffe项目进行编译,设置为Release方式,编译好后,会在E:\caffe\caffe-master\Build\x64\Release中找到pycaffe文件夹,将其复制到E:\Anaconda2\Lib\site-packages即可,然后在python.exe输入import caffe,一般会出现no mpodel named google.protobuf这种错误,注意这里要在cmd中使用

pip.exe install protobuf命令(不要用conda install protobuf指令,会出现UnicodeEncodeError错误;使用pip指令前要先安装pip,使用conda install pip即可,安装好后某些人使用pip install protobuf时可能会出现'install' is a unknown or unsupported command的情况,这种情况是由于

你的电脑还安装了其他pip.你可以使用 where pip来查看)

安装好后,再使用import caffe就可以了,至此,所有配置就大功告成了,在这里建议各位配置的时候千万要静下心来,遇到错误要积极地搜索,还有就是搜索的时候不要畏惧英文网站,其实好多很好的回答就在上面(比如我之前的ipip指令遇到的install问题),只是大部分人容易一看到英文就畏惧了,

所以一定要静下心来,一步一步分析,逻辑推理,找出问题错误所在,并找出解决方法,这将是一种非常好的科学品质~

参考博客:    http://www.cnblogs.com/cxyxbk/p/5902034.html

http://blog.csdn.net/zb1165048017/article/details/51355143?locationNum=6&fps=1

http://blog.csdn.net/qq_14845119/article/details/52415090

Windows+Caffe+VS2013+python接口配置过程的更多相关文章

  1. Windows下caffe的python接口配置

    主要是因为,发现很多代码是用python编写的,在这里使用的python安装包是anaconda2. 对应下载地址为: https://www.continuum.io/downloads/ 安装py ...

  2. 机器学习caffe环境搭建——redhat7.1和caffe的python接口编译

    相信看这篇文章的都知道caffe是干嘛的了,无非就是深度学习.神经网络.计算机视觉.人工智能这些,这个我就不多介绍了,下面说说我的安装过程即遇到的问题,当然还有解决方法. 说下我的环境:1>虚拟 ...

  3. caffe的python接口学习(1):生成配置文件

    caffe是C++语言写的,可能很多人不太熟悉,因此想用更简单的脚本语言来实现.caffe提供matlab接口和python接口,这两种语言就非常简单,而且非常容易进行可视化,使得学习更加快速,理解更 ...

  4. ubuntu16.04+caffe+python接口配置

    在Windows上用了一个学期的caffe了.深感各种不便,于是乎这几天在ubuntu上配置了caffe和它的python接口,现在记录配置过程,亲测可用: 环境:ubuntu16.04 , caff ...

  5. Caffe学习系列(13):数据可视化环境(python接口)配置

    caffe程序是由c++语言写的,本身是不带数据可视化功能的.只能借助其它的库或接口,如opencv, python或matlab.大部分人使用python接口来进行可视化,因为python出了个比较 ...

  6. Caffe学习系列(11):数据可视化环境(python接口)配置

    参考:http://www.cnblogs.com/denny402/p/5088399.html 这节配置python接口遇到了不少坑. 1.我是利用anaconda来配置python环境,在将ca ...

  7. caffe的python接口学习(7):绘制loss和accuracy曲线

    使用python接口来运行caffe程序,主要的原因是python非常容易可视化.所以不推荐大家在命令行下面运行python程序.如果非要在命令行下面运行,还不如直接用 c++算了. 推荐使用jupy ...

  8. caffe中python接口的使用

    下面是基于我自己的接口,我是用来分类一维数据的,可能不具通用性: (前提,你已经编译了caffe的python的接口) 添加 caffe塻块的搜索路径,当我们import caffe时,可以找到. 对 ...

  9. ubuntu16.04 安装caffe以及python接口

    http://blog.csdn.net/qq_25073253/article/details/72571714http://blog.csdn.net/greed7480/article/deta ...

随机推荐

  1. SpringMVC org.xml.sax.SAXParseException: cvc-complex-type.2.4.c 报错处理方式

    使用SpringMVC的过程中需要访问静态文件,即在spring-servlet.xml文件中添加了 <mvc:default-servlet-handler /> 标签,以开启Sprin ...

  2. linux0.11改进之四 基于内核栈的进程切换

    这是学习哈工大李治军在mooc课操作系统时做的实验记录.原实验报告在实验楼上.现转移到这里.备以后整理之用. 完整的实验代码见:实验楼代码 一.tss方式的进程切换 Linux0.11中默认使用的是硬 ...

  3. ApacheCommons的Java公共类库(实现如Log这些功能)

    Apache Commons是Apache软件基金会的项目,曾隶属于Jakarta项目.Commons的目的是提供可重用的.开源的Java代码. 解释:http://baike.baidu.com/i ...

  4. SQL链接服务器

    最近做项目,需要对两个数据库进行同步操作,所以采用在Server SQL中建立链接服务器方式实现. 链接服务器,可以直接访问/操作其他服务器上的数据库表. 1.连接SQL Server链接服务器 EX ...

  5. DOM编程的性能问题

    用脚本进行DOM操作的代价很昂贵,它是富Web应用中最常见的性能瓶颈. 浏览器中的DOM:天生就慢 DOM(文档对象模型)是独立于语言的,但在浏览器中的接口是用JavaScript实现的.两个相互独立 ...

  6. LeedCode-Two Sum

    1. Two Sum Given an array of integers, return indices of the two numbers such that they add up to a ...

  7. nGrinder安装指南

    NGrinder 由两个模块组成,其运行环境为 Oracle JDK 1.6 nGrinder controller  web 应用程序,部署在Tomcat 6.x 或更高的版本 nGrinder A ...

  8. 3.0、Spring-注入

    一.Spring的基本介绍:Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建.简单来说,Spring是一个分层的JavaSE/ ...

  9. python --> 递归 以及装饰器

    一.递归知识 函数迭套执行,逐层执行之后,满足某个条件之后就会停止执行,将return值返回上层的函数,上层函数再逐层返回,最终返回给最初始函数. 递归在斐波那契数列的应用[斐波那契数列特点:前两个数 ...

  10. 视图控制器的View整体上移问题

    最近我朋友代码出现一个问题,我看了下,发现已经是适配iOS那时候的问题了 如果你准备将你的老的 iOS 6 app 迁移到 iOS 7 上,那么你必须注意了.当你的老的 app 在 iOS 7 设备上 ...