在上一篇中我们完成Caffe的环境搭建,这一篇我们一起来运行手写体数字识别例程,共分下载、数据处理、训练和测试四个部分。
点击这里查看原文。
第一部分 下载mnist数据集
在data/mnist目录下执行:
./get_mnist.sh
这样下载完成了4个文件:
t10k-images-idx3-ubyte
t10k-labels-idx1-ubyte
train-images-idx3-ubyte
train-labels-idx1-ubyte
但下载的是二进制文件,需要转换为LEVELDB或LMDB才能被Caffe识别。
第二部分 数据处理
在Caffe根目录下执行:
./examples/mnist/create_mnist.sh
这样在/examples/mnist/目录下生成了两个文件夹
mnist_test_lmdb
mnist_train_lmdb
每个文件夹里面各有两个文件。
第三部分 训练(LeNet-5模型)
首选将 lenet_solver.prototxt 文件中的
# solver mode: CPU or GPU
solver_mode: GPU
改为
# solver mode: CPU or GPU
solver_mode: CPU
然后执行
./examples/mnist/train_lenet.sh
进行训练。训练结束后会生成 lenet_iter_10000.caffemodel 权值文件。
第四部分 测试
执行:
./build/tools/caffe.bin test \
-model examples/mnist/lenet_train_test.prototxt \
-weights examples/mnist/lenet_iter_10000.caffemodel \
-iterations 100
查看预测结果。
最终结果:
I0520 19:50:40.672024 3989 caffe.cpp:318] Loss: 0.0273101
I0520 19:50:40.672076 3989 caffe.cpp:330] accuracy = 0.9918
I0520 19:50:40.672130 3989 caffe.cpp:330] loss = 0.0273101 (* 1 = 0.0273101 loss)
OK 完成。
作者: bigdata大数据
出处: http://www.cnblogs.com/bigdata01/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。 如有问题, 可邮件咨询。