python - tensorflow keras 中的第二个卷积层是如何工作的?
问题描述
我有 keras 中的流动模型。
model = Sequential()
model.add(Conv2D(4, (3, 3), input_shape=input_shape, name='Conv2D_0', padding = 'same', use_bias=False, activation=None))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(8, (3, 3), name='Conv2D_1', padding='same', use_bias=False, activation=None))
model.add(MaxPooling2D(pool_size=(2, 2)))
input_shape 是 (32, 32)。所以,对于第一层,如果我有一个大小为 (32, 32) 的图像,我会得到 4 个大小为 (32, 32) 的图像。因此输入图像由 4 个不同的内核卷积。在池化层之后,我得到 4 个大小为 (16, 16) 的图像。
第二个卷积层给了我 8 个大小为 (16, 16) 的图像。该层有
4*8 个内核。内核的大小为 (3, 3, 4, 8)。但我不明白 8 个输出图像是如何计算的。
例如,我认为对于第一个图像,我可以这样做: H_i :第一个池化层的第 i 个输出图像 Ker_i :第 i 个内核。(:, :, 我, 0)
所以第二个卷积层的第一个输出图像可以是:conv(H_0, ker_0) + conv(H_1, ker_1) + conv(H_2, ker_2) + conv(H_3, ker_3)
但这似乎是错误的。
谁能解释一下,第二个卷积层如何计算输出图像?谢谢您的帮助。
解决方案
推荐阅读
- angular - 映射 Angular 订阅以同步执行
- c# - 如何让多台计算机共享服务器上的单个数据库?
- django - Django:如何在 url 中包含用户名?
- php - 用于 HTML 标签转换的 RegEx
- scala - Scala 中的映射类型
- python-3.x - 连接到远程 jupyter 笔记本失败
- mysql - 如何从一个已经不同的地方计数
- stm32 - STM32F103C8T6如何同时建立3个UART和2个I2C接口?
- xcode - Xcode 10.2 在单击带有 10.14.4 Beta (18E215a) 的 Xcode 图标时崩溃
- firebase-authentication - 如果他们没有帐户,您如何将用户信息存储在 Firestore 中?