深度学习21天实战实战caffe学习笔记《5 : Mnist手写体识别案例》
2017-11-23 16:10
656 查看
Mnist手写体识别案例
源码详解MNIST
MNIST是一个大型手写体数字识别数据库,广泛应用与机器学习领域的训练和测试。包括60000个训练集和10000个测试集,每张图都已经进行尺寸归一化、数据居中处理,固定大小为28×28像素。数据集
使用Caffe源码目录中data/mnist下用get_mnist.sh脚本下载。$ cd data/mnist/ $ ./get_mnist.sh
mnist数据格式描述:
data/mnist 目录下多出四个文件文件名 | 说明 |
---|---|
train-images-idx3-ubyte | 训练集,图片 |
train-labels-idx1-ubyte | 训练集,标签 |
t10k-images-idx3-ubyte | 测试集,图片 |
t10k-labels-idx1-ubyte | 测试集,标签 |
测试图像和训练图像的格式无二;
转换格式
图片文件中像素按照行组织,白色(像素值0)是背景,黑色(像素值255)是前景;下载到的数据集为二进制文件,需要转换为LMDB或LEVELDB才能被Caffe识别。$ ./examples/mnist/create_mnist.sh Creating lmdb... Done.在examples/mnist目录下生成了mnist_train_lmdb/ 和mnist_test_lmdb/ 两个目录,每个目录下都有两个文件:data.mdb和lock.mdb。 mnist_train_lmdb是LMDB格式的训练集,mnist_test_lmdb是LMDB格式的测试集。tips:caffe采用LMDB和LEVELDB的原因1:提供统一的数据类型格式;原因2:提高磁盘IO利用率;
网络模型
复习:Lenet的网络结构(proto配置)examples/mnist/lenet_solver.prototxt训练网络
tips:一定要阅读打印的log;GLOG输出格式:日期 时间 进程 号 源码文件:代码行号]输出信息;
便于追踪远啊运行流程,分析运行效率;CPU模式:examples/mnist/lenet_solver.prototxt最后一行修改如下
# solver mode: CPU or GPU solver_mode: CPU运行examples/mnist/train_lenet.sh脚本
$ ./examples/mnist/train_lenet.sh训练的最终结果保存在examples/mnist/lenet_iter_10000.caffemodel中。
测试
使用MNIST测试集对训练好的模型进行测试$ ./build/tools/caffe.bin test \ -model examples/mnist/lenet_train_test.prototxt \ -weights examples/mnist/lenet_iter_10000.caffemodel \ -iterations 100命令行参数:./build/tools/caffe.bin test 表示只做预测(前向传播),不做参数更新;
-model examples/mnist/lenet_train_test.prototxt 指定模型描述文件
-weights examples/mnist/lenet_iter_10000.caffemodel 指定训练好的权值文件
iterations 100 指定测试迭代次数,参与测试的数目=iterations*batch_size,每次迭代的数据量在模型描述文件中设定batch_size: 100,迭代100次刚好覆盖测试集的10000个样本。
补充:./build/tools/caffe.bin
可以看看源文件!
相关文章推荐
- 深度学习21天实战Caffe学习笔记--笔记5--caffe中前向传播、反向传播及最优化求解过程
- 深度学习21天实战实战caffe学习笔记<11:Caffe 反向传播>
- 深度学习21天实战caffe学习笔记《16:Caffe迁移和部署》
- 深度学习21天实战caffe学习笔记《13:Caffe 实用工具》
- 深度学习21天实战caffe学习笔记《1:深度学习的过往》
- 深度学习21天实战caffe学习笔记《3 :准备Caffe环境》
- caffe深度学习:mnist手写体的识别
- 深度学习21天实战caffe学习笔记《15:Caffe计算加速》
- 深度学习Caffe实战笔记(2)用LeNet跑车牌识别数据
- 深度学习21天实战caffe学习笔记《6 : Caffe代码梳理》
- 深度学习21天实战Caffe学习笔记--笔记4--caffe数据结构
- 深度学习21天实战实战caffe学习笔记《14:Caffe可视化方法》
- 机器学习-学习笔记 Caffe安装-MNIST(手写体数字识别)
- 【深度学习】笔记2_caffe自带的第一个例子,Mnist手写数字识别代码,过程,网络详解
- 深度学习21天实战caffe学习笔记《7 :Caffe数据结构》
- 深度学习21天实战caffe学习笔记《2 :深度学习工具》
- 深度学习21天实战Caffe学习笔记--笔记2--深度学习工具汇总
- 深度学习-21天实战caffe 笔记
- 深度学习21天实战Caffe学习笔记--笔记6--caffe的I/O模块,Caffe模型
- 深度学习21天实战caffe学习笔记《0 : caffe包解析》