0

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

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)

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

4

1 回答 1

0

一种流行的方法是填充输入图像,使得卷积和反卷积之后的输出与填充输入的大小相同。然后裁剪输出以适合原始输入而无需填充。

于 2017-05-09T05:50:28.617 回答