gpt4 book ai didi

tensorflow - 如何解释 CNN 中的 model.summary() 输出?

转载 作者:行者123 更新时间:2023-12-04 16:27:18 26 4
gpt4 key购买 nike

我是深度学习和 CNN 的新手。如果 CNN 已如屏幕截图所示创建,那么如何解释 model.summary() 所描述的输出.我无法理解不同层的输出形状。

型号概要:

Model: "sequential_3"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d_14 (Conv2D) (None, 29, 29, 32) 1568
_________________________________________________________________
max_pooling2d_6 (MaxPooling2 (None, 14, 14, 32) 0
_________________________________________________________________
conv2d_15 (Conv2D) (None, 11, 11, 32) 16416
_________________________________________________________________
max_pooling2d_7 (MaxPooling2 (None, 5, 5, 32) 0
_________________________________________________________________
flatten_3 (Flatten) (None, 800) 0
_________________________________________________________________
dense_6 (Dense) (None, 32) 25632
_________________________________________________________________
dense_7 (Dense) (None, 10) 330
=================================================================
Total params: 43,946
Trainable params: 43,946
Non-trainable params: 0

neural network design

最佳答案

假设每张图片的大小为(32, 32, 3) ,根据问题。

Keras 然后附加一个额外的维度来处理多个批次,即在单个 epoch 的每个步骤中训练多个图像。由于批量大小可能会有所不同,因此其大小由 None 表示。因此,输入形状变为 (None, 32, 32, 3) .

卷积 (32, 32)带有 (4, 4) 的图像过滤器,步长和膨胀率为 1,填充“有效”,结果输出大小为 (32 - 4 + 1, 32 - 4 + 1) = (29, 29) .由于您有 32 个这样的过滤器,因此输出形状变为 (29, 29, 32) .

默认的 MaxPooling 内核的形状为 (2, 2)(2, 2)的步伐.将其应用于 (29, 29)图像生成形状为 (((29 - 2)//2) + 1, ((29 - 2)//2) + 1)) = (14, 14) 的图像.

这种模式可以扩展到所有的 Conv2D 和 MaxPooling 层。
Flatten layer 沿所有 channel 获取所有像素并创建一维向量(不考虑批量大小)。因此,输入 (5, 5, 32)被展平为 (5 * 5 * 32) = 800值。

参数计数

Conv2D 层的参数数量由下式给出:

(kernel_height * kernel_width * input_channels * output_channels) + (output_channels if bias is used).



因此,对于第一个具有 3 个输入 channel 、32 个输出 channel 和内核大小 (4, 4) 的 Conv2D 层,参数个数为 (4 * 4 * 3 * 32) + 32 = 1568 .

关于tensorflow - 如何解释 CNN 中的 model.summary() 输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61060736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com