如何计算卷积神经网络中密集和输出层的尺寸?

时间:2017-05-14 17:28:02

标签: python-2.7 tensorflow

有人可以告诉我为什么密集层和输出层的大小分别为256和10?

input = 1x28x28                      
conv2d1   (28-(5-1))=24 -> 32x24x24   
maxpool1                    32x12x12                           
conv2d2   (12-(3-1))=10 ->  32x10x10    
maxpool2                     32x5x5                           
dense                           256    
output                           10  

1 个答案:

答案 0 :(得分:1)

卷积层与完全连接的层不同。对于完全连接,您将矢量重新整形为一个单一维度,并应用矩阵乘法和fc图层权重(W * x + B)。

你应该在这里清楚地阅读和理解概念(了解如何运作的最佳教程):http://cs231n.github.io/convolutional-networks/#conv

对于密集层

在您的情况下,第一个密集层的权重大小为[32 * 5 * 5,256]。将池层的输出重新整形为一个向量,并通过密集层进行馈送。第一密集层的输出是256 dim vector - 通过第二个FC层(weights_size = [256,10])得到10 dim vector

上面的链接清楚地解释了Conv,Pool,Relu,全连接层的所有细节以及每层输出大小的计算。

请仔细阅读。我希望有所帮助。