【发布时间】:2020-03-21 00:37:18
【问题描述】:
这绝对是一个基本问题,但我很难理解 Keras 的 layers.Conv2DTranspose 函数到底发生了什么。我有以下三行:
设置
model = tf.keras.Sequential()
...
model.add(layers.Reshape((10, 10, 256)))
model.add(layers.Conv2DTranspose(128, (5, 5), strides=(1, 1), padding='same', use_bias=False))
assert model.output_shape == (None, 10, 10, 128)
第一次出现的 Reshape 得到了一个形状为 [10x10x256] 的张量。
在Conv2DTranspose 层中,不知何故,我沿着这个张量滑动了一个形状为 [5x5] 的过滤器,最终得到了一个形状为 [10x10x128] 的新张量。
问题
从第一个张量 [10x10x256] 到第二个 [10x10x128] 的数学上发生了什么?
【问题讨论】:
标签: tensorflow keras