caffe mnist 训练和测试记录
1.下载mnist数据
这里的数据分两种格式 一种lmdb一种leveldb 基本都是一样的,两种都做了测试,这里以lmdb为例
解压到文件夹中,这里一共包括4个文件,训练样本,训练样本标签,测试样本,测试样本标签
2.转换为lmdb格式
将训练数据集和测试数据集合都转换为lmdb格式,
第一个参数是caffe安装目录下编译生成的 .exe文件,如果没有,可以在vs2013中重新编译生成,这里我的是release生成的,Debug也是一样的
第二个参数是数据文件的路径(截图掉了一段,文件名全名是 train-images.idx3-ubyte )
第三个参数是生成文件的文件夹路径(这里的文件夹一定是不存在的,如果存在了,程序运行崩溃)
3.设置 lenet_solver.prototxt 和 lenet_train_test.prototxt
这连个文件都是caffe自带样本mnist中直接拷贝过来的
其中lenet_train_test.prototxt是主要的神经网络结构,目前只改动前两个layer中的train和test数据的路径,主意这里的路径用 \\ 或者 / 不然会报错
其中lenet_solver.prototxt设置开头的 net 路径,即上面的lenet_train_test.prototxt路径,和最后面的训练方式 CPU or GPU
更多内容看别人的blog,这里我仅仅是个人记录,有一定基础
4.开始训练
第一个参数同上,是caffe工程编译生成的
第二个参数是一个标记 train 表示用于训练
第三个参数 形式如 --solver= + 3中设置的文件和路径
5.训练完成
生成如下的神经网络模型,可用用于识别
下面开始测试自己的数据
6.生成mean均值文件
第一个参数caffe工程下生成的 .exe 文件
第二个参数是训练数据的 lmdb文件根目录
第三个参数是均值文件的生成路径并命名为mean.binaryproto
7.写测试文件
第一个参数同上
第二个参数是mnist训练集合中拷贝的文件
第三个参数是上面训练生成的神经网络模型
第四个参数是二进制均值文件路径
第五个参数是测试图片(这里的图片需要是如下格式的 28*28像素的图)