我想将FPN应用到我的网络中。这里我有一个48*27层,在卷积层之后,它是24*14,但在解卷积层之后,它变成了48*28,与48*27不同。所以这些层不能做加法/乘法运算。
我如何解决这个问题?我正在使用TensorFlow和“相同”的填充方式。
发布于 2017-09-04 23:56:43
问题是,对于以下所有的输入形状,具有‘相同’填充和步长为2的卷积将具有24*14的输出形状:
48*27、48*28、47*27和47*28
因此,tf.layers.conv2d_transpose本身不能知道正确的输出形状,它适用于将每个维度加倍的对称情况: 24*14 -> 48*28
如果想要使用不同的输出形状,可以使用lower level deconvolution:tf.nn.conv2d_transpose
使用它可以指定输出形状。
或者,您可以调整整个网络,使输入形状始终是步幅的倍数。然后,反卷积将始终预测正确的输出形状。
https://stackoverflow.com/questions/46039420
复制相似问题