您的位置:首页 > Web前端

Windows Caffe 学习笔记(一)训练和测试CIFAR-10数据集

2016-09-12 10:27 615 查看
本文记录的是在Windows Caffe上训练和测试CIFAR-10数据集的过程,其实对于这次训练难点在于CIFAR-10数据集的格式转换与处理上,在上一篇文章中,我已经做了记录。这篇文章中记录下的难点是bat文件的书写,其他步骤均进行的很流畅。

0.CIFAR-10数据集

CIFAR-10数据集由10个种类的60000张32*32的彩色图片组成,每类图片6000张。50000张训练图片和10000张测试图片。



1.准备数据集

从CIFAR-10官网下载binary格式的数据集,进行处理:1.转换为LEVELDB格式。2.求图像数据的均值。(具体记录在上一篇博客中,不再赘述)

2.模型

CIFAR-10模型是一个CNN模型:由卷积层、下采样层、RELU以及在顶端的局部对比归一化线性分类器组成。该模型已经定义在CAFFE_ROOT/examples/cifar10 路径下的 cifar10_quick_train_test.prototxt中。

3.训练和测试“快速”模型

当你在已经写好定义网络的protobuf文件和求解其的protobuf文件,训练模型是很简单的。

已经给定的网络定义文件为cifar10_quick_train_test.prototxt,需要进行编辑修改。

根据具体情况,正确填写即可,截图如下:



注:一定要用“/”,很不显眼的错误,很需要注意!!

已经给定的求解器文件为cifar10_quick.prototxt,需要进行编辑修改:

红色方框标出,正确填写即可:



.bat文件的书写,截图如下,其存放路径为examples\cifar10:



双击运行即可,运行过程如下(下面的图片和文字均直接翻译自官方文档:CIFAR-10 Tutorial):

当开始运行时,你会看到这样的信息:



这些信息是告诉你每一层的信息,它的连接和输出形状,在调试的时候或许很有用。在初始化之后,将开始进行训练:



在求解其设置中,我们每经过100次迭代,打印出训练损失函数,并且每经过500次迭代,测试网络。你将看到像这样的信息:



对于每一次训练迭代,lr是迭代的学习率,loss是代价函数。
对于测试阶段的输出,score 0 是准确率,score 1 是测试损失函数。
在经过一段时间之后,程序将运行完毕!



我们的模型可以得到约75%的测试准确率。模型参数保存在二进制protobuf格式文件cifar10_quick_iter_5000中。

在我自己电脑上的运行结果,截图如下:



参考文档:

1.Caffe官方文档:CIFAR-10 Tutorial 

2. Caffe学习笔记(六)—— Windows下训练自己的数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐