Это определенно базовый c вопрос, но у меня возникают проблемы с пониманием, что именно происходит с функцией Кераса 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].
![Graphical depiction of what I think this is doing](https://i.stack.imgur.com/X7jOB.jpg)
Вопрос
Что математически происходит, чтобы получить меня от первого тензора [10x10x256] до второго [10x10x128]?