实例运行mnist

一、转换mnist数据集格式(转换为lmdb/leveldb)

1. 首先下载数据文件

http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz

http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz

http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz

http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz

下载后,是如下图所示的四个文件:


2. 解压后,放置到caffe-master\data\mnist目录下。新建一个 create_mnist.bat,内容如下:

..\..\Build\x64\Release\convert_mnist_data.exe

train-images.idx3-ubyte train-labels.idx1-ubyte mnist_train_lmdb  

echo.  

..\..\Build\x64\Release\convert_mnist_data.exe

t10k-images.idx3-ubyte t10k-labels.idx1-ubyte mnist_test_lmdb 

pause

实例运行mnist_第1张图片

(注意更改convert_mnist_data.exe 的路径;注意一定要把 train-images.idx3-ubyte等四个文件放到.\data\mnist根目录下

3. 执行create_mnist.bat文件,在当前目录下生成了对应的训练和测试集数据(然后需要拷贝到..\..\examples\mnist文件下)

二、根据lenet_solver.prototxt里定义的配置参数规则进行训练

4. 打开examples\mnist目录下的lenet_solver.prototxt文件,可以看到最底下的 solver_mode: GPU这一选项,设置为CPU;

实例运行mnist_第2张图片

5. 打开examples\mnist目录下的lenet_train_test.prototxt文件,修改第一个和第二个layer的source为第一步生成的训练测试数据,如下图所示:

实例运行mnist_第3张图片

6. 在 D:\caffe-master 文件夹下新建一个train_mnist.bat

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

pause

文件格式如下:


若想输出训练日志到 train_mnist.log,可加如图所示的这句话:


双击train_mnist.bat 运行。

开始训练.......

训练结果如下图所示:

实例运行mnist_第4张图片

准确率:99.14% ,结果文件如下:

实例运行mnist_第5张图片

三、用mnist测试自己的图片

在此网站下载bmp格式的图片:

http://blog.csdn.net/wenhao_ir/article/details/52118751?locationNum=11&fps=1

1. 先编译”convert_imageset”项目

2. 在“examples\mnist”目录下,将准备测试的图片放入文件夹“binarybmp”,在“examples\mnist”创建测试文件“synset_words.txt”

实例运行mnist_第6张图片       实例运行mnist_第7张图片

3. 在“examples\mnist”目录下新建convert_image_data.bat(必须与binarybmp文件夹和synset_words.txt在同一目录下),内容如下图所示:

SET GLOG_logtostderr=1

E:\study_materials\Caffe\caffe-master\caffe-master\Build\x64\Release\convert_imageset.exe 

binarybmp/ synset_words.txt mnist_myTest_lmdb --backend=lmdb --gray=true

pause

实例运行mnist_第8张图片

功能:从原始图片文件转换成caffe中能够运行的db(leveldb/lmdb)文件。
使用方法: 
convert_imageset [FLAGS] ROOTFOLDER/  LISTFILE DB_NAME [--backend=leveldb| lmdb]
参数:
FLAGS: 图片参数组,后面详细介绍
ROOTFOLDER/: 图片存放的绝对路径,从linux系统根目录开始
LISTFILE: 图片文件列表清单,一般为一个txt文件,一行一张图片

DB_NAME: 最终生成的db文件存放目录

双击运行后,会自动生成 mnist_myTest_lmdb文件夹

实例运行mnist_第9张图片

实例运行mnist_第10张图片

4.现在就可以测试自己的图片了,

复制“lenet_train_test.prototxt”重命名为“lenet_train_test_self.prototxt”修改如下:

实例运行mnist_第11张图片

5.创建test_lenet.bat,内容如下:

E:\study_materials\Caffe\caffe-master\caffe-master\Build\x64\Release\caffe.exe 

test -model lenet_train_test_self.prototxt -weights lenet_iter_10000.caffemodel -iterations 100

pause

实例运行mnist_第12张图片

双击test_lenet.bat后,结果如下图所示:

实例运行mnist_第13张图片

要详细理解运行过程,可参考《深度学习:21天实战Caffe》6.2.1节 和

http://www.mamicode.com/info-detail-674889.html

补充(提取训练日志)

在http://sourceforge.net/projects/unxutils/?source=dlp下载了UnxUtils.zip,将tee.exe复制到C:Windows\system32目录下,就可以使用tee.exe在屏幕上和日志文件里面同时输出日志

只需在末尾加 2>&1 | tee test_lenet.log

实例运行mnist_第14张图片

运行之后就会多生成一个日志文件:test_lenet.log  ,内容如下图所示:

实例运行mnist_第15张图片

你可能感兴趣的:(实例运行mnist)