张量流的tf.nn.max_pool中的'SAME'和'VALID'填充有什么区别?

张量流的tf.nn.max_pool中的'SAME'和'VALID'填充有什么区别?,第1张

张量流的tf.nn.max_pool中的'SAME'和'VALID'填充有什么区别?

我将举一个例子使其更清楚:

  • x
    :输入形状为[2,3],1通道的图像
  • valid_pad
    :具有2x2内核,步幅2和有效填充的最大池。
  • same_pad
    :具有2x2内核,跨度2和相同填充的最大池(这是 经典的处理 方式)

输出形状为:

  • valid_pad
    :此处没有填充,因此输出形状为[1,1]
  • same_pad
    :在这里,我们将图像填充为[2,4]形状(使用
    -inf
    ,然后应用最大池),因此输出形状为[1、2]

x = tf.constant([[1., 2., 3.],      [4., 5., 6.]])x = tf.reshape(x, [1, 2, 3, 1])  # give a shape accepted by tf.nn.max_poolvalid_pad = tf.nn.max_pool(x, [1, 2, 2, 1], [1, 2, 2, 1], padding='VALID')same_pad = tf.nn.max_pool(x, [1, 2, 2, 1], [1, 2, 2, 1], padding='SAME')valid_pad.get_shape() == [1, 1, 1, 1]  # valid_pad is [5.]same_pad.get_shape() == [1, 1, 2, 1]   # same_pad is  [5., 6.]



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5666825.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存