理解Keras Conv2D层中参数的数量

13

我的第一层是:

model.add(tf.keras.layers.Conv2D(filters=32, kernel_size=3, padding="same", activation="relu", input_shape=[32, 32, 3]))

模型摘要表中的参数数量:

    Layer (type)                 Output Shape              Param #   
=================================================================
conv2d_4 (Conv2D)            (None, 32, 32, 32)        896  

根据我的理解,参数数量必须是:

(No of filters) X (Number of parameters in Kernel)
i.e. in my case ==> 32 X (3 X 3) = 288

但是它应该是896。怎么算出来的呢?

谢谢

1个回答

20

Keras Conv2D层中的参数数量是使用以下公式计算的:

number_parameters = out_channels * (in_channels * kernel_h * kernel_w + 1)  # 1 for bias

所以,在你的情况下,

in_channels = 3
out_channels = 32
kernel_h = kernel_w = 3
number_parameters = 32(3*3*3 + 1) = 896

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接