caffe的mnist小练习

这是一个手写数字分类的小练习,训练集是一些带标签的手写数字,测试集是一些手写数字,目的是将这些手写数字准确地分到对应的类中。

1.数据准备
下载数据:找到caffe/data/mnist文件夹,运行文件


接着出现:

运行完毕后有四个文件:
数据转换:将文件数据转化为lmdb:
注意此时要在caffe根目录下加权限运行,否则可能无法执行:


接着在examples/mnist里面就出现了mnist_test_lmdb和mnist_train_lmdb两个文件



这就是数据集了。


2.网络结构:
这里是LeNet的网络结构,可以将 examples/mnist/lenet_train_test.prototxt .的内容放到 Netscope(http://ethereon.github.io/netscope/#/editor)里面查看
网络结构:








可视化的网络结构,还可以直接观察到每一层的参数,这是一个简单的神经网络结构,从上到下,数据集,接着卷积层--池化层---卷积层---池化层---全连接层innerproduct+relu--innerproduct----最后计算loss,用softmax分到类中


3.训练参数

examples/mnist/lenet_solver.prototxt


建立model文件夹并修改lenet_solver.prototxt 中的snapshot_prefix




4.训练网络
这时候就可以通过运行 train_lenet.sh脚本来训练网络了
在caffe根目录下输入 接着就开始初始化网络:



create mnist layer

接着创建系列的网络层:


创建完成:

接着创建训练网络:

开始优化网络:


接着开始迭代训练:


第 5000次迭代后,建立了个model存在设置的目录下

在10000次迭代后,同样建立model,且训练停止:


最终的accuracy:0.9909,loss:0.0263691





5.测试模型:
调用训练好的模型进行测试
caffe根目录下:用gpu的话:/caffe$ ./build/tools/caffe.bin test -model=examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/model/lenet_iter_10000.caffemodel -gpu=0
否则:/caffe$ ./build/tools/caffe.bin test -model=examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/model/lenet_iter_10000.caffemodel
接着就看到结果:







使用10000次迭代后的模型进行测试的结果。


note:作为小白,该文档仅供参考,也作为自己练习的记录,有不对的地方请指正,更多信息参考caffe官网。
给自己加油~~~~~

版权声明:本文原创,转载请注明出处!
http://blog.csdn.net/u012581616/article/details/79557517
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值