在此处完成Caffe教程后:http://caffe.berkeleyvision.org/gathered/examples/mnist.html
我对本教程中使用的不同(高效)模型感到困惑,该教程在此处定义:https://github.com/BVLC/caffe/blob/master/examples/mnist/lenet_train_test.prototxt
据我所知,Caffe中的卷积层只是计算每个输入的Wx + b之和,而不应用任何激活函数。如果我们想添加激活函数,我们应该在卷积层的正下方添加另一个层,如Sigmoid,Tanh或Relu层。我在互联网上阅读的任何论文/教程都将激活功能应用于神经元单元。
它给我留下了一个很大的问号,因为我们只能看到模型中的卷积层和池化层交错。我希望有人可以给我一个解释。
作为网站说明,我的另一个疑问是此求解器中的max_iter: https://github.com/BVLC/caffe/blob/master/examples/mnist/lenet_solver.prototxt
我们有60,000张用于训练的图像,10.000张用于测试的图像。那么为什么max_iter只有10.000(并且它仍然可以获得> 99%的准确率)? Caffe在每次迭代中做了什么? 实际上,我不确定准确率是否是总的正确预测/测试大小。
我对这个例子感到非常惊讶,因为我还没有找到任何一个例子,这个框架可以在很短的时间内达到这种高准确率(只需5分钟即可获得> 99%的准确率)。因此,我怀疑应该有一些我误解的东西。
感谢。
答案 0 :(得分:1)
Caffe使用批处理。 max_iter
为10,000,因为batch_size
为64。No of epochs = (batch_size x max_iter)/No of train samples
。因此epochs
的数量接近10.准确度是根据test data
计算的。是的,由于数据集不是很复杂,模型的准确性确实> 99%。