4.mnist数据集分类(caffe手写数字识别)

由于我使用了Github图库,你可能会遇到我图片无法显示的问题,建议开启VPN查看本文章

1.目的

(1)caffe实现手写数字识别

(2)验证caffe是否安装成功

2.下载手写体数字识别数据集

(1)下载链接: http://yann.lecun.com/exdb/mnist/

4.mnist数据集分类(caffe手写数字识别)_第1张图片

(2)准备+存放位置(推荐,你也可以自己选择)

如果你是之前的步骤就跟着我一起弄的话,接下来的步骤就会轻松很多

  1. 打开G:\caffe\caffe-windows\examples\mnist文件夹

    caffe-windows是我caffe的解压文件夹

  2. 新建三个空白文件夹,分别为bat、lmdb、MNIST_data

​ 3. 在MNIST_data中解压所创建的数据集

4.mnist数据集分类(caffe手写数字识别)_第2张图片

3.下载的原始数据集为二进制文件,需要转换为LEVELDB或LMDB

(1)在bat文件夹中创建一个空白的bat批处理文件并进行转换训练数据的批处理操作

使用Notepad++打开进行编辑,输入下列代码进行保存(路径根据你的路径进行更改)

%执行数据转换程序%
%传入训练图片%
%传入训练图片的标签%
%转换后的数据存放在此目录%

G:\caffe\caffe-windows\scripts\build\examples\mnist\Release\convert_mnist_data.exe ^
G:\caffe\caffe-windows\examples\mnist\MNIST_data\train-images.idx3-ubyte ^
G:\caffe\caffe-windows\examples\mnist\MNIST_data\train-labels.idx1-ubyte ^
G:\caffe\caffe-windows\examples\mnist\lmdb\train_lmdb

(注意下,train_lmdb文件夹不需要创建,会自动创建,如果你已经有文件夹会出错)

写bat命令运行时出现了显示我写的bat文件不是批处理命令之类的报错

这篇博客帮我解决了问题:执行bat文件提示:“不是内部或外部命令,也不是可运行的程序或批处理文件”

(2)双击运行bat文件转换训练数据的格式

运行完毕后会自动关闭,train_lmdb文件夹中出现下面的文件

4.mnist数据集分类(caffe手写数字识别)_第3张图片

(3)在bat文件夹中创建一个空白的bat批处理文件并进行转换测试数据的批处理操作

使用Notepad++打开进行编辑,输入下列代码进行保存(路径根据你的路径进行更改)

%执行数据转换程序%
%传入测试图片%
%传入测试图片的标签%
%转换后的数据存放在此目录%

G:\caffe\caffe-windows\scripts\build\examples\mnist\Release\convert_mnist_data.exe ^
G:\caffe\caffe-windows\examples\mnist\MNIST_data\t10k-images.idx3-ubyte ^
G:\caffe\caffe-windows\examples\mnist\MNIST_data\t10k-labels.idx1-ubyte ^
G:\caffe\caffe-windows\examples\mnist\lmdb\test_lmdb

(4)双击运行bat文件转换测试数据的格式

运行完毕后会自动关闭,test_lmdb文件夹中出现下面的文件

3.修改网络模型描述文件G:\caffe\caffe-windows\examples\mnist\lenet_train_test.prototxt

修改该文件中的训练数据和测试数据路径

4.mnist数据集分类(caffe手写数字识别)_第4张图片

将刚才生成的train和test数据路径放在相应的位置、

注意路径中使用’’/’'

第一个是训练数据路径

第二个是测试数据路径

4.mnist数据集分类(caffe手写数字识别)_第5张图片

4.修改超参数文件G:\caffe\caffe-windows\examples\mnist

打开标题目录中的文件

修改如下:

4.mnist数据集分类(caffe手写数字识别)_第6张图片

5.开始训练模型

(1)在bat文件夹中创建train.bat文件

(2)使用Notepad++编辑,打开,输入

%train训练数据%
%超参数文件%

G:\caffe\caffe-windows\scripts\build\tools\Release\caffe.exe train ^
-solver=G:/caffe/caffe-windows/examples/mnist/lenet_solver.prototxt
pause

根据自己的路径更改好之后进行保存

(3)双击运行bat文件开始训练模型

CPU训练时间较长,请耐心等待。我用GPU的话速度很快

训练中。。。

4.mnist数据集分类(caffe手写数字识别)_第7张图片

在model文件中出现我所生成的模型

6.等待模型训练好,准备要测试的图片

(1)下载测试图片28*28,0-9

链接:https://pan.baidu.com/s/1JP4wiwhaMX9tJmPkpsFe3w
提取码:6wj9

下载完成后存放到MNIST_date文件夹

7.生成均值文件

(1)在bat文件夹中创建名为mnist_mean.bat文件

(2)使用Notepad++编辑,打开,输入

在编辑之前,我们先再mnist文件中新建mean_file文件夹用来存放我们生成的均值文件

%计算均值程序%
%train_lmdb%
%均值文件存放路径%

G:\caffe\caffe-windows\scripts\build\tools\Release\compute_image_mean.exe ^
G:\caffe\caffe-windows\examples\mnist\lmdb\train_lmdb ^
G:\caffe\caffe-windows\examples\mnist\mean_file\mean.binaryproto

(3)双击运行bat文件生成均值文件

在我们刚才创建的mean_file文件夹中生成

8.准备标签

在mnist文件夹中创建label文件夹

4.mnist数据集分类(caffe手写数字识别)_第8张图片

在里面新建label.txt文件

输入

0
1
2
3
4
5
6
7
8
9

保存,然后我们的标签就准备好了

9.测试分类效果

(1)在bat文件夹中创建mnist_classification.bat文件

(2)使用Notepad++编辑,打开,输入

%分类可执行程序%
%网络结构%
%训练好的模型%
%均值文件%
%标签%
%要分类的图片%

G:\caffe\caffe-windows\scripts\build\examples\cpp_classification\Release\classification.exe ^
G:\caffe\caffe-windows\examples\mnist\lenet.prototxt ^
G:\caffe\caffe-windows\examples\mnist\models_iter_10000.caffemodel ^
G:\caffe\caffe-windows\examples\mnist\mean_file\mean.binaryproto ^
G:\caffe\caffe-windows\examples\mnist\label\label.txt ^
G:\caffe\caffe-windows\examples\mnist\MNIST_data\0-9\5.bmp
pause

(3)双击bat文件运行

输出结果为

4.mnist数据集分类(caffe手写数字识别)_第9张图片

意思为最有可能的是5,自此看来,训练成功

你可能感兴趣的:(caffe学习)