【caffe】mnist数据集lenet训练与测试

在上一篇中,费了九牛二虎之力总算是把Caffe编译通过了,现在我们可以借助mnist数据集,测试下Caffe的训练和检测效果。


准备工作:在自己的工作目录下,新建一个文件夹,命名为mnist_test(根据自己的习惯设定)。同时,建议大家安装文本编辑神器Notepad++,用它来编辑各种格式的文本真的很方便!这里用于打开和编辑用到的各种文件。


1、mnist手写数字数据集下载http://yann.lecun.com/exdb/mnist/)。

     将下图中的4个文件均下载到mnist_test文件夹下,并解压到当前文件夹,得到如下4个文件:t10k-labels.idx1-ubyte,train-labels.idx1-ubyte,t10k-images.idx3-ubyte,train-images.idx3-ubyte。



2、lmdb格式训练集和测试集转换。

2.1 在mnist_test文件夹下新建两个文本文件,分别命名为:create_minist_trainlmdb.bat和create_minist_testlmdb.bat。

2.2 向create_minist_trainlmdb.bat中添加如下内容,并保存:

D:\Libraries\caffe\msvc2013_64\bin\convert_mnist_data.exe train-images.idx3-ubyte train-labels.idx1-ubyte mnist_train_lmdb  
pause

convert_mnist_data.exe位于caffe安装目录的bin文件夹下,无需将其拷到当前目录,只要制定其绝对路径即可。注意输入的文件名要正确,否则找不到,会报错!


2.3 向create_minist_testlmdb.bat中添加如下内容,并保存:

D:\Libraries\caffe\msvc2013_64\bin\convert_mnist_data.exe t10k-images.idx3-ubyte t10k-labels.idx1-ubyte mnist_test_lmdb  
pause  


双击执行这两个.bat文件,会在当前文件夹下生成如下两个文件夹,里面分别保存着lmdb格式的训练集和测试集。



3、训练caffemodel并测试。

在caffe源码目录下有一个examples文件夹,在examples文件夹下有一个mnist文件夹,将该文件夹下如下三个文件:lenet.prototxt、lenet_solver.prototxt和lenet_train_test.prototxt,拷贝到mnist_test文件夹下。



打开lenet_solver.prototxt,将net的值改为lenet_train_test.prototxt,同时可以修改solver_mode,可以是CPU,也可以是GPU,其他参数也可以做适当调整,这里不再调整。



再打开lenet_train_test.prototxt,将对应的内容按照指定的格式进行修改,如下图所示:



新建一个文本文件,重新命名为train.bat,添加如下内容:

D:\Libraries\caffe\msvc2013_64\bin\caffe.exe train --solver=lenet_solver.prototxt
pause

保存,双击执行,运行界面如下:



运行完毕,会在当前文件夹下生成如下四个文件(即训练出来的模型):


下面进行测试,在当前文件夹下新建一个文本文件,重新命名为test.bat,添加如下内容:

D:\Libraries\caffe\msvc2013_64\bin\caffe.exe test --model lenet_train_test.prototxt -weights=lenet_iter_10000.caffemodel
pause

保存,双击打开,执行结果如下:



至此caffe模型训练完毕,下面使用图片进行实测。


4、计算mean.binaryproto。

在进行实测之前,我们需要计算模型的均值,具体方法如下。

4.1 打开之前的lenet_train_test.prototxt,作进一步修改,添加如下两处内容:



4.2 新建一个文本文件,重命名为computer_image_mean.bat,向其中添加如下内容:

D:\Libraries\caffe\msvc2013_64\bin\compute_image_mean.exe mnist_train_lmdb mean.binaryproto --backend=lmdb
pause

保存,双击执行,会在当前目录下生成文件mean.binaryproto。


5、实际图片分类测试。

5.1 测试图片

有些博客介绍了如何生成测试图片( http://blog.csdn.net/zb1165048017/article/details/52217772),这里就不做多的介绍了。可以直接将下面的这个图片保存到当前目录下,供测试使用。



5.2 新建一个文本文档,命名为label.txt,添加如下内容:


5.3 新建一个文本文档,重新命名为 classification.bat,添加如下内容:

D:\Libraries\caffe\msvc2013_64\bin\classification.exe lenet.prototxt lenet_iter_10000.caffemodel mean.binaryproto label.txt 5.png
pause

保存,双击执行,如下:



这里,我们也可以使用leveldb格式的文件进行测试,只需要将相应配置选项由lmdb转换成leveldb即可


参考资料:

[1] http://www.cnblogs.com/yixuan-xu/p/5858595.html;

[2] http://blog.csdn.net/zb1165048017/article/details/52217772;


2017.07.19

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值