【问题标题】:How to use Padding in conv2d layer of specific size如何在特定大小的 conv2d 层中使用 Padding
【发布时间】:2019-02-09 12:07:17
【问题描述】:

我的输入尺寸图像是: 256 * 256

Conv2d 内核大小:4*42*2

输出将是127*127。 我想传递给 Max Pool 为此我想应用填充以使其成为128*128,以便池运行良好并且池输出将用于其他层。

我如何为此转化应用填充。

conv1 = tf.layers.conv2d(x, 32, (4,4),strides=(2,2), activation=tf.nn.relu)

【问题讨论】:

  • It's in the docs.。通过padding="same".
  • 同样会做什么,它会成为目标尺寸
  • 这不是一个完整的句子。无论如何,“相同”填充将使您的图像在之前保持 256x256 步幅,因此步幅为 2 时,您最终将获得尺寸为 128x128 的图像。
  • 好的,你能发布这个答案,这样我就可以接受并关闭这个帖子。

标签: python tensorflow image-processing padding conv-neural-network


【解决方案1】:

tf.layers.conv2d 有一个 padding 参数,您可以使用它来执行此操作。默认为"valid",表示不进行填充,因此每次卷积都会略微缩小输入。您可以改为传递padding="same"。这将应用填充,以使卷积的输出在大小上与输入相等。这是 before 步幅,因此使用 2 的步幅仍将下采样 2 倍。在您的示例中,使用 padding="same" 应该导致卷积输出的大小为 128x128。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 2020-06-05
    • 2019-06-22
    • 1970-01-01
    • 2023-02-06
    • 1970-01-01
    • 2021-02-03
    相关资源
    最近更新 更多