参考网站:

http://www.cnblogs.com/njust-ycc/p/5776286.html

无法找到gpu/mxGPUArray.h: No such file or directory

解决网站:http://www.fx114.net/qa-149-8865.aspxwww.fx114.net/qa-272-151280.aspx

一、前言

本文会详细地阐述caffe-windows的配置教程。由于博主自己也只是个在校学生,目前也写不了太深入的东西,所以准备从最基础的开始一步步来。个人的计划是分成配置和运行

官方教程,利用自己的数据集进行训练和利用caffe来实现别人论文中的模型(目前在尝试的是轻量级的SqueezeNet)三步走。不求深度,但求详细。因为说实话caffe-windows的配置

当初花了挺多时间的,目前貌似还真没有从头开始一步步讲起的教程,所以博主就争取试着每一步都讲清楚吧。

这里说些题外话:之所以选择SqueezeNet是因为相比于目前互联网行业深度学习应用的火热,移动设备端的深度学习应用实在少得可怜。如果我没记错地话,苹果在2016年9月7

日发布会中提到了机器学习两次,其中ios10的一个亮点就是利用深度学习技术实现照片中人脸的自动识别归类,私下里测试了下效果很不错。当然缺点也显而易见:由于需要大量的

计算,目前只在用户接通电源的情况下才会去识别。我的师兄们也尝试过用深度学习做移动设备端应用的开发,不过最后由于花费时间太长改成了上传到服务器端完成。所以计算量

大应该算是深度学习应用向移动设备端转移的一个很大问题。不过,有理由相信今后移动设备端的深度学习应用会变得越来越多,也会是一个前景广阔的市场。

二、环境

系统版本:Windows 10 专业版 64位

Visual Studio版本:Visual Studio Ultimate 2013

都可以从itellyou上下载到,强烈推荐使用上述版本的Visual Studio(以下简称VS)。

三、详细步骤

caffe-windows配置部分

(1)确保正确安装了VS后首先下载caffe-windows源代码,网址如下:

https://github.com/BVLC/caffe/tree/windows

我下载得到的caffe-windows.zip的MD5值为:8F2804014EF395094584230A4A9EE8A6,不排除后续源代码更新导致本教程失效的可能,因此保险的话可以校验一下。

(2)解压后进入如下路径:\caffe-windows\windows(之后路径均默认在caffe-windows文件夹下,因此都省略\caffe-windows)

在\windows目录下复制文件 CommonSettings.props.example(应该会以副本形式出现CommonSettings.props - 副本.example),并将该副本改名为CommonSettings.props。

(请确认显示文件扩展名这个选项已生效)

(3)用VS打开CommonSettings.props,进行如下两个更改后保存退出。

1.第7行的false改成true;2.第8行的true改成false;更改后效果如下:

如果是像我一样的初学者不推荐一开始就配置GPU版本的caffe,因为又会有很多问题出现,容易打消积极性,更应该先利用CPU版本初步掌握caffe后再进一步研究GPU版本。

(4)用VS打开\windows下的Caffe.sln,加载完成后右键点击解决方案资源管理器中的解决方案Caffe,选择启用NuGet程序包还原(VS会自动地将caffe要用到的第三方库下载完成,

就功能来说还是很方便的,有点类似linux的apt-get,还不用担心版本问题。不过就caffe实际用这个还原第三方库的体验来说真不咋的),如下图所示:

    接下来的过程十分漫长,还有可能出现未响应或下载中断的情况。

我想了一种可取且可行的方案:在第四步打开Caffe.sln之前先下载别人已经下载好的NugetPackages文件夹,并放到和caffe-windows文件夹的同级目录下。

这样之后再打开Caffe.sln时能够自动识别出来(亲自试了一下是可行的)。提供一个NugetPackages文件夹的压缩包:http://pan.baidu.com/s/1qYpg3bY,提取码f2zx。

如果自己可以下载,那下载完成后会在caffe-windows文件同级目录下出现一个新的NugetPackages文件夹(里面有16个子文件夹,都是caffe需要用到的库,

之后会结合实际运行结果简单介绍下这些库)。如果点击上图中的管理解决方案的NuGet程序包(G)还可以看到这些库的简要信息,如下图所示:

(5)之后点击项目-属性(或直接右击解决方案Caffe选择属性),把配置修改成Release x64,并将生成全部勾上,如下图所示。最后就可以点生成解决方案了,

然后又是较长的等待。。

这里会出现一个问题,单独说明下:

报出类似下面的错误:

error LNK1104:无法打开文件“libcaffe.lib”

网上的解决方案是对libcaffe单独重新生成,如下图所示:

但这样的话会出现另外一个错误:

error C2220:警告被视为错误-没有生成“object”文件

如果出现这样的错误,请打开项目-属性按照下图进行更改:

之后再对libcaffe重新生成应该就可以成功通过。

最后再点击生成-生成解决方案应该就可以生成成功了。至此caffe-windows配置完成。进入目录\caffe-windows\Build\x64\Debug里面众多的可

执行文件都会在之后用到。

其实Debug也是可以的,但是这样的话之后每次都要打开VS,总觉得有点不方便,所以后面还是通过自己写bat文件调用caffe。Debug的方法

可以参考这篇文章[2]。

到了这一步恭喜你配置已经完成了。接下来就可以用mnist数据集生成模型了。

mnist数据集测试部分

这部分本来应该分开来写的,但由于完成了caffe-windows配置部分也不知道到底配置得正不正确,所以还是一鼓作气地用机器学习的

Hello World程序:mnist手写数字数据集来测试下。

(1)首先下载mnist数据集http://yann.lecun.com/exdb/mnist/,这里需要注意的是caffe并不直接通过下载得到的四个文件进行训练,而是会

把它转化为lmdb或leveldb格式进行读取。lmdb是lightning(闪电的) memory-mapped database manager的缩写,能够把原始数据通过更为

高效的存储方式存储,从而加快读取和训练速度(lmdb比leveldb更快,可以看看刚刚的NugetPackages文件夹,当中就包含着对应的库)。

实现这个转化的代码是\examples\mnist的convert_mnist_data.cpp,但也没必要看,因为它的运行脚本create_mnist.sh显然是linux下的东西。

想了想也可以理解,毕竟caffe本来也不支持windows,能移植过来就不错了,也不能指望大牛们把所有例子的代码都一并移植过来。后续教程会

专门介绍如何实现自己的数据集向lmdb和leveldb转换。目前更很好的办法就是直接网盘下载,这里分享一个http://pan.baidu.com/s/1c2G9qyk 提取码xama。

里面是已经经过转换的leveldb格式的训练集和测试集,把这两个文件夹直接放到\examples\mnist目录下,如下图所示:

(2)在正式运行前还有几个文件中需要进行改动,首先用VS打开\examples\mnist目录下的lenet_solver.prototxt,将最后一行改成CPU:

可以看到,这个文件是对网络训练参数进行指定:max_iter指定了最大迭代次数,snapshot是输出中间结果。上图中的参数已经修改过,

初始的max_itersnapshot是10000和5000。

接着再用VS打开\examples\mnist目录下的lenet_train_test.prototxt,做如下修改以正确指定训练集和测试集。

这里额外介绍下caffe-windows采用的LeNet-5模型,也就是上图中layer的定义方式。由于之后自己写代码实现模型时肯定需要

对LeNet-5模型有了解,所以提供该模型的原始资料以供参考。

http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf

   其实平时看些别人论文中提供的代码,上述两个文件也算是论文和代码的核心所在。基本都是提供自己编写的上述两个文件,

再加上最终训练出来的caffemodel,日志和几张效果图。比如下图就是SqueezeNet提供的的:

(3)完成上述工作后就可以编写bat脚本进行正式训练了。回到caffe-windows的根目录下新建一个run.txt并写入以下内容(自己

敲一遍感觉效果更佳,特别是像我一样之前对bat文件完全不懂的人):

将后缀名改成bat后双击运行,不出意料,应该会出现类似如下的训练过程:

四、mnist运行结果

我清除解决方案后按照上述步骤重新试了一次,没有出现问题。当然也还是不能保证100%能运行,所以如果出现任何

错误的话欢迎交流。

下面就对运行的结果进行一些简单的解释:

最前面的部分是打印各种信息(包括是用CPU还是GPU、训练参数、网络参数等等),类似下图内容:

之后即为和下图一样的正式训练过程,可以看到打印信息的格式也是有规律的:

左侧为caffe采用的GLOG库内方法打印的信息,这个库主要起记录日志的功能,方便出现问题时查找根源,具体格式为:

[日期] [时间] [进程号] [文件名] [行号]

往右即为当前迭代次数以及损失值(训练过程不输出准确率accuracy)。

当迭代次数达到lenet_solver.prototxt定义的max_iter时,就可以认为训练结束了。并且最终会在目录\examples\mnist下产生

训练出的模型(文件后缀名为caffemodel和solverstate),如下图所示:

分别是训练至一半和训练最终完成后的模型。接下来可以用这模型对mnist的测试集和自己手写的数字进行测试(见下篇教程)。

五、结语

也许到目前为止你还是感觉caffe像个黑盒一样,无法洞悉它的具体工作过程。但至少到这一步为止你已经完成了最初的caffe

配置过程并成功利用mnist数据训练出了第一个caffemodel。之后的东西虽然不能说简单,但并没有这最初的一步来得意义重大。

完成了Step ZERO to ONE,就能饱含信心的继续下去,进一步探究caffe(好像鸡汤了?)。在接下来的教程中会用到该模型对mnist

数据集以及你自己手写的图片进行测试。后者还是很有趣的。

六、参考

[1]深度学习21天实战Caffe 赵永科 电子工业出版社

(虽然这本书由于大量地贴代码,评价不是太好,但对初学者还是有很多可取之处的)

[2]http://m.blog.csdn.net/article/details?id=51355143

[3]Caffe官方教程中译本 社区预览版

转载于:https://www.cnblogs.com/byteHuang/p/6909674.html

win7旗舰版+caffe+vs2013+matlab2014b(无GPU版)相关推荐

  1. 【caffe-Windows】caffe+VS2013+Windows无GPU快速配置教程

    前言 首先来一波地址: happynear大神的第三方caffe:http://blog.csdn.net/happynear/article/details/45372231 Neil Z大神的第三 ...

  2. pytorch无坑超详细图文CPU版小白安装教程(配gpu版链接、conda命令教程)

    想安装gpu版本的朋友们请移步gpu版pytorchan安装教程直达 文章目录 创建.激活.退出.删除环境 法一:官网默认指令安装(可能比较慢) 法二:更换清华源下载 法三:下载包安装 版本对应问题 ...

  3. 深度学习环境配置Ubuntu16.04+CUDA8.0+CuDNN+Anaconda2+openCV2.4.9+caffe(全离线GPU版)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Bernice_lying [前言] 深度学习燎原之势势不可当,现在很多现场使用深度方法的比赛需要自行 ...

  4. opencv上gpu版surf特征点与orb特征点提取及匹配实例

    opencv上gpu版surf特征点与orb特征点提取及匹配实例 标签: gpu版surfgpu orbsurf和orbgpu surf及orbsurf orb gpu 2016-09-25 23:4 ...

  5. Unity之软件在win7旗舰版上无法全屏“铺满”显示

    一.起因 发布的软件包,在客户电脑上无法全屏显示. 想了想,还是不贴客户现场图了~ 表现就是软件能够在屏幕中间显示所有内容,界面无丢失,但是屏幕左右两侧有明显黑色区域,软件界面没有"铺满&q ...

  6. 【Win7旗舰版系统下载 官方MSDN原版】无第三方软件 纯净3264位安装教程

    近一周以来很多网友不是发帖就是在回复中询问各种关于Win7安装或者安装之后的各种问题的,介于论坛发布的第三方修改版本众多不能一一帮大家解决遇到的问题,故特开此贴.分享微软官方MSDN版的Win7旗舰版 ...

  7. 计算机无法装补丁,win7旗舰版系统无法安装补丁的解决步骤介绍

    微软每隔一段时间都会发布最新的补丁,为了win7系统安全着想,都会定期升级更新,但在更新过程中难免会遇到无法安装补丁的问题,出现这种这种情况有很多因素,下面小编以 win7 64位旗舰版下载 为例,向 ...

  8. win7下cuda8.0安装跑gpu版tensorflow

    要用深度学习做目标检测,先尝试了caffe,这会又要熟悉tensorflow了,简单写下配置过程吧,挺简单的: 0.win7 X64系统 1.安装vs2013 2.安装Anaconda3(需要里面的p ...

  9. 【caffe-Windows】caffe+VS2013+Windows+GPU配置+cifar使用

    前言 国际惯例,先来波地址: CUDA WIN7:链接:http://pan.baidu.com/s/1nvyA3Qp 密码:h0f3   官方网址:https://developer.nvidia. ...

最新文章

  1. linux 连接文件,Linux 链接文件
  2. Flutter - sqflite(原滋原味)
  3. pycharm导入自己写的模块时,模块下方出现红色波浪线的解决方案
  4. 清华周界详解《基于图神经网络的事实验证》 | 百万人学 AI
  5. 【华为机试题 HJ102】字符统计
  6. [数字媒体] PR视频剪辑之竖屏实现横屏旋转切换和大视频文件缩小
  7. Bayes‘ theorem贝叶斯定理(基础理论+心理学小例子)
  8. 笔记本(无线网卡)配置虚拟机上网
  9. 兔子如何吃掉狼和野猪的
  10. DENSE_RANK函数
  11. Datawhale- DS- Jun - 第一章:第一节数据载入及初步观察-课程
  12. 三元组顺序表表示的稀疏矩阵转置(10分)
  13. 如何消除原生Android,如何消除原生Android网络状态上的惊叹号
  14. STM32学习日记3---定时器TIM3重映射PWM波呼吸灯实验
  15. CEOI 2020, Day 2 A,B题解 CF1403A CF1403B
  16. vscode配置基于maven的Javaweb开发
  17. 百度广告屏蔽;百度新闻屏蔽;百度推送屏蔽
  18. Databuscanal对比
  19. uboot移植——启动内核
  20. android平板应用多吗,都说安卓平板不好用 对比完7大类应用我说说感受

热门文章

  1. windows2008强制卸载辅域和元数据
  2. php自动发邮件系统,一个简单的自动发送邮件系统(二)_php基础
  3. solidworks批量图号分离_SolidWorks图号分离宏-不需要特殊符号
  4. grafana的+按钮_基于 Prometheus、Grafana 的 EMQ X 物联网 MQTT 服务器可视化运维监控...
  5. 配置syslog发送_Citrix ADC Syslog配置推荐
  6. mysql引号注入_MySql注入
  7. 本地mysql新建用户名和密码错误_mysql新建用户本地无法登录
  8. 苹果ios,下拉菜单错位的问题(目前iphone x没发现有这个问题)
  9. 「BZOJ1095」[ZJOI2007] Hide 捉迷藏
  10. P1941 飞扬的小鸟