查看模型时,可以得到下列图形:
由于输入层和隐藏层是一块建立的,因此查看模型时输入层和隐藏层只有一层dense(Dense),在该层中输出了两个参数,分别是 Output Shape =(None,256),Param=200960。
Output Shape 第一个参数是Batch size(批尺寸),当批尺寸为None时,表示把数据一次性都放进模型中训练;第二个是输入的shape,输入了256个一维数据。
Param是200960,第一层输入数据(1,784),根据输出的计算公式,可知
结果是(784,256),
数据是(1,256)。Param = 784 x 256 + 256 = 200960。
总的来说,每一层的Param可以这么计算:
Param = (上一层神经元数量)x (本层的神经元数量) + (本层的神经元数量)
其中,(上一层神经元数量)x (本层的神经元数量):代表的是 的参数
本层的神经元数量:代表的是的参数
照着这种思路,检验一下dense_1(Dense)的参数是否是这样的。 在该层中输出了两个参数,Output Shape =(None,10),Param=2570。
输出是(1,10)的数据,因此Output Shape的第二个参数为10,没问题。
Param=256*10+10=2570,因此Param为2570,没问题。