《深度学习21天实战caffe》第6天 学习笔记

这一节的学习主要是通过手写体数字识别例程来熟悉caffe的基本使用。

首先下载MNIST数据集

$ cd data/mnist
$ ./get_mnist.sh

下载到四个文件
训练集(图片)train-images-idx3-ubyte
训练集(标签)train-labels-idx1-ubyte
测试集(图片)t10k-images-idx3-ubyte
测试集(标签)t10k-labels-idx1-ubyte

下载到的文件为二进制文件,可以执行下面命令来把文件转换为caffe能识别的文件(LEVELDB或LMDB)

$ ./examples/mnist/create_mnist.sh

LeNet-5 模型

利用可视化工具,将examples/mnist/lenet_train_val.prototxt中模型结构绘制出来
可视化工具可以用下述链接
http://ethereon.github.io/netscope/quickstart.html

点击launch editor
把.prototxt文件复制进去,按shift+enter 就可以看到模型
这里写图片描述

LeNet-5的工作流程如下,输入层是28*28的感知节点,接受原始图像。
第一层:卷积层,用20个5*5的卷积核进行特征提取,提取出20个(28-5+1)*(28-5+1)的特征图送下层处理。
第二层:子采样层,采用最大池化的方法来缩小数据规模,用2*2的输入域,将4个数用一个最大的数来替代。
第三层:卷积层,同第一层一样,只是这一层用了50个卷积核生成了50个特征图。
第四层:子采样层,同第二层一样。
第五层:全连接层,这一层共产生500个节点,它如同BP神经网络一样,计算输入向量和权重向量直接的点积,再加上一个偏置,然后将其传递给激励函数(ReLU)计算。
第六层:全连接层,共有10个节点,分别代表数字0到9。

训练超参数

$ ./examples/mnist/train_lenet.sh

训练过程很长,我截取了部分
这里写图片描述

可以看到最后在10000次迭代后,准确度达到了99.18%
最终训练模型保存在 examples/mnist/lenet_iter_10000.caffemodel
训练状态保存在examples/mnist/lenet_iter_10000.solverstate

最后利用训练好的模型对数据进行预测

$ ./build/tools/caffe.bin test \
-model examples/mnist/lenet_train_test.prototxt \
-weights examples/mnist/lenet_iter_10000.caffemodel \
-iterations 100

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值