2017-09-04 81 views
1

我想将FPN应用于我的网络。 这里我有一个48 * 27层,在conv层之后,它来到24 * 14,但是在去卷积层之后,它变成了48 * 28,与48 * 27不一样。所以这些图层不能添加/多个操作。Decovolutional层与原始图层不匹配

我该如何解决这个问题?我使用TensorFlow和'SAME'填充方式。

回答

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

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

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

相关问题