关闭

win10+only-cpu利用Caffe框架测试mnist数据集

标签: CaffemnistDeep LearningcpuAI
91人阅读 评论(0) 收藏 举报
分类:

一、下载mnist数据集,正常步骤:在如下网站下载四个ziphttp://yann.lecun.com/exdb/mnist/

但是从这里下载的数据集需要进行格式转换(转换方法以后会说到的),所以我现在选择下载现成的数据集如此zip文件

解压后得到这么两个文件夹:


:这了两个文件夹中的内容:


将这两个文件夹放入D:/caffe-master/examples/mnist中(因为我把caffe-master解压在了D盘根目录下,大家自己寻找自己的caffe-master就可以了),

效果如图


 

二、修改相关文件

D:\caffe-master\examples\mnist中,用VS2013打开lenet_solver..protptxt文件,如图:

,拉到最后一行做如下修改:,该页面包括了最大迭代次数,max_iter,以及输出中间结果snapshot,如图所示:


 

D:\caffe-master\examples\mnist中,用VS2013打开lenet_train_test.prototxt文件,如图:,进行如图所示修改,两个source,定位到数据集文件夹名字。


 

三、返回caffe-master所在目录中,新建一个txt文件,输入如下代码,效果如图

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

Pause


然后将后缀改为bat,效果如图,然后双击此文件,就进入训练了,效果如图


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

                【日期】【时间】【进程号】【文件名】【行号】


四、等待训练结束,如下图:


上面显示了训练精确率0.996

损失函数0.0291871

在训练过程中:

中间有些比较长的部分,可以通过拉动窗口右侧小条找到

下图:


显示当前迭代次数和以及损失值,训练过程中不产生精确率accuracy

 

当迭代次数达到lenet_solver.prototxt定义的max_iter时,就可以认为训练结束了,并且在训练结束后,在D:\caffe-master\examples\mnist文件夹中会多出如下四个文件:

 

这时产生训练出的模型(文件后缀名为caffemodelsolverstate),它们分别是训练至一半(5000次)和训练最终(10000次)完成的模型,接下来就可以用这对模型对mnist的测试集和自己的手写字进行测试,接下来会说明如何测试。

 

五、测试数据集(摘自网络)

接下来就可以利用模型进行测试了,关于测试的方法按照以上教程还是选择bat文件,当然pythonmatlab更为方便,比如可以迅速把识别错误的图片显示出来。

产生均值文件mean.binaryproto

在进行分类之前首先需要产生所有图片平均值图片,真正分类时的每个图片都会先减去这张平均值图片再进行分类。这样的处理方式能够提升分类的准确率。

产生均值文件的方法是利用解决方案中的compute_image_mean.exe,位于目录D:/caffe-master/Build/x64/Debug下。回到caffe-master根目录下创建一个mnist_mean.txt,写入如下内容:

Build\x64\Debug\compute_image_mean.exe examples\mnist\mnist_train_leveldb mean.binaryproto --backend=leveldb

pause

效果如图:


然后把.txt后缀改为.bat,文件如图所示:

然后双击运行(其实写了那么多bat文件也因该有体会了,只要指定的路径正确就行,不一定非要放在caffe-master根目录下)。正确运行的话会在根目录下产生一个mean.binaryproto,也就是我们所需要的均值文件,如右图所示:

 

接着为了使用均值文件需要稍微修改下层的定义(其实还是添加了如下图两行代码mean file的两行代码),然后用VS2013打开D:\caffe-master\examples\mnist\lenet_train_test.prototxt

并作如下修改,如图所示:


保存退出

至此,均值文件的预处理部分处理完毕,下面就可以进行测试了(至于为什么这样预处理,我也在学习中,知道的朋友还麻烦在下面评论区说一下,谢谢啦)。

 

利用mnist数据集进行测试

这部分比较简单,因为之前生成的caffe.exe就可以直接用来进行测试。同样地在caffe-master根目录下新建mnist_test.txt,并写入如下内容(其中间断处都为一个空格)

内容如下:

.\Build\x64\Debug\caffe.exe test --model=examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/lenet_iter_10000.caffemodel

pause  

效果如图所示:


注意:这里的测试,指的是把训练出的模型,应用在刚才的训练集上,看一下测试精度。

这一步往后就比较实用了,先介绍如何制作手写数字的单张测试样本。

必须使用经过二值化后的图片

把转换好的二值图像拷贝到D:\caffe-master\examples\mnist\

D:\caffe-master\examples\mnist下建立标签文件synset_words.txt,如图所示

里面输入如图所示:


 

调用classification.exe去识别某张图片,D:\caffe-master目录新建mnist_class.bat

D:\caffe-master\Build\x64\Debug\classification.exe D:\caffe-master\examples\mnist\lenet.prototxt D:\caffe-master\examples\mnist\lenet_iter_10000.caffemodel D:\caffe-master\mean.binaryproto D:\caffe-master\examples\mnist\synset_words.txt D:\caffe-master\examples\mnist\binarybmp\0.bmp  

pause  

 注意:此处使用的lenet.prototxt是一个deploy文件,这个文件只是高速分类程序(mnist_classification.exe)网络结构是怎么样子的,不需要反向计算,不需要计算误差。

然后得到如图所示结果:



解释一下结果:在最后的分类结果中,一共显示了5行(据说程序中可以控制,但是我并没有找到),表示输入的这张图片与它最像的有这5类,前面的01表示得分,这5行前面的得分和应该为1,也就是1+0+0+0+0=1,第一项得分最高,所以识别此图为6.


  接下来我打算自己用画图做一个试一下,

这是我用画图做的,如图所示

(这是桌面截图,把下面的89.bmp截图的目的是待会儿给大家看一下怎么修改网络)

怕格式(包括大小以及像素问题)不正确,我用它的图片集修改的,然后输入到网络中,也就是在上一步中建立的mnist_class.bat中用记事本打开,做如图所示修改:


保存退出,双击mnist_class.bat,开始运行,得到如下结果:


 “7”得分最高,所以网络识别图片中的数字为7

自己制作数据集成功!





 

0
0
查看评论

caffe学习笔记1-win10安装与测试mnist

windows下caffe的安装有些麻烦,我折腾了一天终于安装好caffe并且成功测试了mnist,在此期间遇到了不少坑,特此记录一下。安装caffecaffe的安装方式一直在变化,我安装的时候发现不少博客写的东西已经有些过时了,所以建议大家在安装的时候最好参考官方的安装说明。 官方安装说明htt...
  • loufand
  • loufand
  • 2017-02-17 11:59
  • 916

ubuntu下caffe实战---mnist数据集测试

测试用到手写体识别模型LeNet,mnist数据集 其中LeNet是一种CNN模型,由一个卷积层、后面跟一个下采样层、再跟另外一个卷积层和另一个下采样层,再之后是两个全连接层组成。 mnist数据集:包括60000个训练集和10000个验证集 训练过程: 1.下载mnist数据集...
  • wzx9511
  • wzx9511
  • 2017-04-17 18:37
  • 912

caffe(ubuntu14.04)学习笔记1——运行MNIST数据集模型

MNIST数据集简介:         MNIST数据集是一个大型的手写体数据库,广泛用于机器学习领域的训练和测试,它是由纽约大学的Yann LeCun教授整理的,包括60000个训练样本和10000个测试样本,其图像都是灰度图像,固定尺寸为28x28(像素)...
  • qq_31275519
  • qq_31275519
  • 2017-01-17 09:41
  • 909

Caffe示例程序测试mnist数据集

mnist是一个手写数字库,现在成了DL的入门练习库。征对mnist识别的专门模型是Lenet,算是最早的cnn模型了。 mnist数据训练样本为60000张,测试样本为10000张,每个样本为28*28大小的黑白图片,手写数字为0-9,因此分为10类。(ps:在caffe中运行所有程序,都必须在...
  • lucky_greenegg
  • lucky_greenegg
  • 2017-04-05 17:07
  • 657

奔跑吧Caffe(在MNIST手写体数字集上用Caffe框架训练LeNet模型)

数据集背景: MNIST 是一个大型的手写体数字数据库,广泛应用于机器学习领域的训练和测试,由纽约大学Yann LeCun教授整理。 MNIST包括60000个训练集和10000测试集,图片固定尺寸为28*28。 LeNet模型背景: LeNet是1986提出的,是最简单...
  • inslow
  • inslow
  • 2017-01-12 15:23
  • 1545

Caffe基础系列【一】MNIST数据集的测试

环境:win10 64位+VS2013+Caffe【无GPU】昨天晚上和今天一上午终于将win10上的Python接口的Caffe配置好了,同时配置好了VS+Caffe+Opencv2.4.10可以在VS中进行Caffe+Opencv的开发,期待后期的学习。可谓厉了种种困难终成正果。先将MNIST测...
  • att0206
  • att0206
  • 2017-08-06 21:47
  • 293

caffe练习实例(1)——训练mnist数据集

1.简介这是一个非常简单的实例,主要是为了这个简单的实例了解caffe的工作流程。 2.操作流程1.获取数据在caffe-master/data/mnist文件夹中只有一个get_mnist.sh可执行文件,我们需要执行这个文件获取mnist所需要的数据。执行命令:./data/mnist/get_...
  • hx1298234467
  • hx1298234467
  • 2016-12-10 18:09
  • 820

ubuntu16.04+caffe训练mnist数据集

1.   caffe-master文件夹权限修改 下载的caffe源码编译的caffe-master文件夹貌似没有写入权限,输入以下命令修改: sudo chmod -R 777 ~/caffe-master/ 2.   下载mnist数据库 cd ~/caffe sdu...
  • dcrmg
  • dcrmg
  • 2017-07-16 20:05
  • 740

VS2013+Windows+CPU下搭建caffe框架并利用mnist数据集实验

《李凭箜篌引》--李贺 吴丝蜀桐张高秋,空山临云颓不流; 江娥啼竹素女愁,李凭中国弹箜篌; 昆山玉碎凤凰叫,芙蓉泣露香兰笑; 十二门前融冷光,二十三丝动紫皇; 女娲炼石补天处,石破天惊逗秋雨; 梦入神山教神妪,老鱼跳波瘦蛟舞; 吴质不眠倚桂树,露脚斜飞湿寒兔。 一、VS201...
  • whu_Gcoder_2017
  • whu_Gcoder_2017
  • 2017-05-09 16:00
  • 949

caffe 下测试 MNIST数据

详细说明可参考网页:http://blog.csdn.net/wangchuansnnu/article/details/44341753              &#...
  • jiandanjinxin
  • jiandanjinxin
  • 2015-12-26 15:03
  • 5243
    个人资料
    • 访问:1292次
    • 积分:255
    • 等级:
    • 排名:千里之外
    • 原创:20篇
    • 转载:11篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档