说明:
Ubuntu16.04 caffe
mnist是caffe自带的一个简单例子,但是在caffe中是不带练习数据的,因此需要自己去下载。但在caffe根目录下的data文件夹里,作者已经为我们编写好了下载数据的脚本文件,我们只需要联网,运行这些脚本文件就行了。
注意:在caffe中运行所有程序,都必须在根目录下进行,否则会出错
mnist是一个手写数字库,mnist数据训练样本为60000张,测试样本为10000张,每个样本为28*28大小的黑白图片,手写数字为0-9,因此分为10类。
Step1:下载mnist数据
首先切换到caffe根目录下
sudo cd /home/xxx/caffe
之后开始下载mnist数据
sudo sh data/mnist/get_mnist.sh
运行成功后,在data/mnist文件下将出现一下几个文件:
train-images-idx3-ubyte: 训练集样本 (9912422 bytes)
train-labels-idx1-ubyte: 训练集对应标注 (28881 bytes)
t10k-images-idx3-ubyte: 测试集图片 (1648877 bytes)
t10k-labels-idx1-ubyte: 测试集对应标注 (4542 bytes)
Step2:把数据生成LMDB数据
这些数据不能在caffe中直接使用,需要转换成LMDB数据,运行一下代码
sudo sh examples/mnist/create_mnist.sh
运行成功后,在/examples/mnist/下会生成一些文件
Step3:更改配置
这里要更改的是使用CPU还是使用GPU,如果使用GPU,则可以跳过此步。我使用的是CPU,所以需要更改配置。需要更改的文件是 lenet_solver.prototxt
首先通过编辑器打开文件:
sudo gedit examples/mnist/lenet_solver.prototxt
将最后一行,solver_mode:GPU改为solver_mode:CPU
保存退出即可
Step4:开始训练
sudo time sh examples/mnist/train_lenet.sh
训练后,会在examples/mnist下生成四个文件,分别是迭代5000次和10000次的模型。lenet_iter_5000.caffemodel
lenet_iter_5000.solverstate
lenet_iter_10000.caffemodel
lenet_iter_10000.solverstate
Step5:开始测试
这里原本是没有测试文件的,需要先生成测试文件。运行一下命令将生成测试文件test_lenet.sh 。
cd caffe/examples/mnist
touch test_lenet.sh
这里生成的文件是一个空白文件,需要编辑,添加内容,然后保存。
sudo gedit test_lenet.sh
之后运行一下命令即可测试
sudo sh ./examples/mnist/test_lenet.sh
测试的时候可以看到精确程度。
参考:
http://www.mamicode.com/info-detail-1160346.html