Decovolutional图层与原始图层不匹配

时间:2017-09-04 14:41:45

标签: tensorflow computer-vision

我想将FPN应用到我的网络。 在这里我有一个48 * 27层,在转换层后,它达到24 * 14,但在去卷积层后,它变为48 * 28,与48 * 27不同。所以这些层无法添加/ mul op。

如何解决此问题?我正在使用TensorFlow和“相同”#39;填充方式。

1 个答案:

答案 0 :(得分:1)

问题是,对于以下所有输入形状,使用“SAME”填充和步长为2的卷积将具有24 * 14的输出形状:

48 * 27,48 * 28,47 * 27和47 * 28

因此tf.layers.conv2d_transpose本身无法知道正确的输出形状,并且它与每个尺寸加倍的对称情况一致:24 * 14 - > 48 * 28

如果您想使用其他输出形状,可以使用lower level deconvolutiontf.nn.conv2d_transpose

使用它可以指定输出形状。

或者,您可以调整整个网络,使输入形状始终是步幅的倍数。然后,反卷积将始终预测正确的输出形状。