【问题标题】:Convolution-Deconvolution pair gives slightly different dimensionality卷积-反卷积对给出的维度略有不同
【发布时间】:2017-07-03 19:25:40
【问题描述】:

我正在使用一个卷积层,然后是一个反卷积层,如下所示:

tf.nn.conv2d(num_outputs=1, kernel_size=[21, 11], stride=[2, 2], padding="SAME", rate=1)

tf.nn.conv2d_transpose(num_outputs=1, kernel_size=[21, 11], stride=[2, 2], padding="SAME")

我的想法是使初始图像更小,然后通过反卷积将其恢复到原始大小。我实际上正在使用 tf.slim 函数,但参数是上面的。

看输入和输出的时候,我有一个小区别:

Input shape :  (16, 161, 511, 1)
Output shape:  (16, 162, 512, 1)

我认为这可能与我的步幅大小或内核大小有关。我尝试了多个值,但似乎没有一个可以重现原始尺寸。

【问题讨论】:

  • 在备份图像时,必须使用整数倍数,因此无法准确选择输出图像的大小。
  • 对我来说解决这个问题的唯一方法是将输出减少到输入大小,损失不大,但我希望有另一种方法。

标签: tensorflow convolution deconvolution


【解决方案1】:

一种流行的方法是填充输入图像,使卷积和反卷积后的输出与填充后的输入具有相同的大小。然后裁剪输出以适应没有填充的原始输入。

【讨论】:

    猜你喜欢
    • 2017-01-06
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 2016-11-11
    • 2012-11-06
    相关资源
    最近更新 更多