windows(无GPU)+VS2013,caffe安装测试mnist问题及解决

刚接触DL,CPU版caffe安装,仅此记录走过的坑。

一、准备工具:

VS2013(本文仅限于VS2013版本,VS2015版本目前还未搞定,搞定后待续)

windows版本的caffe https://github.com/BVLC/caffe/tree/windows(直接打开下载到caffe-windows压缩文件,解压即可,本文未改解压文件名,以下涉及的目录都是从该文件caffe-windows往下的,安装繁琐,目录搞对很关键)

 

二、安装过程:

1、caffe-windows\windows目录下,CommonSettings.props.example复制一份更名为CommonSettings.props,

打开并修改如下几个地方,只用CPU训练故CpuOnlyBuild设为true,UseCuDNN设为false,不用GPU所以Cuda版本7.5那个就没管。由于是菜鸟,就不考虑和Python、MATLAB结合做什么东西,先玩玩caffe,熟一点之后在做其他,因此后面两个Support都设为false。这个文件其他地方不用修改。

2、用VS2013打开Caffe.sln文件,解决方案会包含15个项目,右键解决方案,生成解决方案,会在caffe-windows文件相同的目录下生成NugetPackages文件夹,文件夹内容如下:

等待几分钟,NugetPackages文件夹生成完之后,右键解决方案,属性,通用属性-启动项目,点选当前选定内容,然后确定。

3、找到caffe->caffe.cpp,ctrl+f5编译该文件,编译成功后,出现如下图,即表示安装成功。

以上安装过程,主要参考了http://blog.csdn.net/qq_14845119/article/details/52415090,特此感谢。不过安装期间,还算顺利,故没出现其他状况。不过,mnist测试时,出了两个问题,解决如下,希望对初学者有所帮助。

三、mnist测试问题:

1、去官网http://yann.lecun.com/exdb/mnist/下载,如下四个文件,

不难看出,两个train的和两个test的,然后把train的两个文件解压放在caffe-windows\data\mnist\mnist_train_lmdb,把test的两个文件解压放在caffe-windows\data\mnist\mnist_test_lmdb(不要搞错,后面用到数据集也会用到这个路径)。

 

2、在caffe-windows根目录下,编写create_mnist.bat文件,内容如下:

 

.\Build\x64\Release\convert_mnist_data.exe .\data\mnist\mnist_train_lmdb\train-images.idx3-ubyte 
.\data\mnist\mnist_train_lmdb\train-labels.idx1-ubyte .\examples\mnist\mnist_train_lmdb   
echo.  
.\Build\x64\Release\convert_mnist_data.exe .\data\mnist\mnist_test_lmdb\t10k-images.idx3-ubyte   
.\data\mnist\mnist_test_lmdb\t10k-labels.idx1-ubyte .\examples\mnist\mnist_test_lmdb   
pause  

 

 

然后保存,双击该脚本create_mnist.bat运行

然而,问题来了:(1)、双击该脚本,如果不做其他修改,且在caffe-windows\examples\mnist\mnist_train_lmdb  所在的盘没有1TB的空间的时候,会出现check failed,如下:

 

可以看到是convert_mnist_data.cpp里面传出的,首先找到该文件在caffe-windows\examples\mnist路径下,打开该文件可以看到:

 

这里出现的是(112 vs. 0),与图中101行划线的地方有关,该行经查阅http://www.voidcn.com/blog/whiteinblue/article/p-3126704.html,应该是检查lmdb操作的一个空间的大小,那个数值也就是1TB的大小,所以caffe-windows所在的盘没有2TB(生成两个文件夹),这里会出现问题。

解决方法:将这里改成小一点的数值,我改的是1073741824(1GB,视情况而定吧),我之前编译Caffe.cpp的时候,扫了一眼解决方案中有convert_mnist_data项目,重新打开看了一下确实有,由于convert_mnist_data.cpp改动,回去对Caffe.sln重新生成一次解决方案,编译,不然create_mnist.bat里面,要用到的convert_mnist_data.exe还是原来的,运行create_mnist.bat文件又会出现相同的问题。

(2)、重新生成解决方案,编译caffe.cpp后,如果直接双击create_mnist.bat,就会出现如下问题:

 

这里出现的是(-1 vs. 0),与convert_mnist_data.cpp的98行有关,其实原因就是,只要运行一次create_mnist.bat,就会在caffe-windows\examples\mnist路径下生成两个文件夹,如下:

如果文件已经存在就会出现本问题。

解决方法:双击执行create_mnist.bat之前,去caffe-windows\examples\mnist下,确认这两个文件是否已经存在,如果有,就删掉。

3、修改caffe_windows\examples\mnist\lenet_solver.prototxt,将最后一行改为solver_mode:CPU,懒得上图了。

4、在caffe_windows根目录下,编写train_mnist.bat文件,内容如下:

 

.\Build\x64\Release\caffe.exe train --solver=.\examples\mnist\lenet_solver.prototxt  
pause  

 

双击执行该文件,就开始训练了,10000次迭代太久,为了截个图,来个1000次的,上图如下:

具体数值及含义,有待进一步学习,本文亲测有效,若有表述不当或不足之处,请大神们批评指正。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值