CIFAR-10实例
caffe中的CIFAR-10实例重现了Alex Krizhevsky的cuda-convnet中的结果,具体的模型定义、参数、训练步骤等都是按照cuda-convnet中的进行设置的。不过,该实例仍是半成品,目前官网上介绍的只是quick train,对于进一步解释网络细节和训练选择的full training还未完工。
cuda-convnet是Alex Krizhevsky、Ilya Sutskever和Geoffrey E. Hinton在论文ImageNet Classification with Deep Convolutional Neural Networks中的实验代码。它是一套公开的CNN代码,运行于Linux系统上,使用GPU做运算。(但据网友所说,该代码并不能复现论文中的结果,论文中的multi-GPU和dropout也没有实现,而且也没有给出论文中8层卷积神经网络的配置文件)
至于该实例中的数据准备、模型定义以及训练和测试,和MNIST实例中的相差不大,按照步骤一步步来就行了,问题不大。
需要补充一点的是,在训练时,界面中会跳出一系列监控参数,如下所示:
其中,lr指当前迭代时的学习率(learning rate)。loss指训练误差。在测试阶段, #0指accuracy,#1指测试损失(每迭代500次会进行一次测试)。
要比较cpu和gpu的训练速度,只需要在cifar*solver.prototxt(*为通配符,例如cifar10_quick_solver.prot