为什么与tf.nn.conv2d_transpose相比,tf.keras.layers.Conv2DTranspose不需要output_shape?

时间:2019-04-24 08:41:10

标签: tensorflow conv-neural-network transpose autoencoder tensorflow2.0

我在这里缺少一些基本知识。但是我总是使用tf.nn API进行转置卷积,在这里我必须指定输出形状,因为它是模糊的(Link)。 但是,对于TF 2.0,我切换到Keras子类化,现在我想知道为什么我不必为更高级别的API中的转置卷积指定输出形状。他们如何精确计算呢?

1 个答案:

答案 0 :(得分:2)

tf.keras.layers.Conv2DTranpose的后端通过tf.nn.conv2d_transposetf.keras.backend.conv2d_transpose

要计算output_shape的{​​{1}}参数,它要使用函数tf.nn.conv2d_transpose(定义为here):

deconv_output_length