【问题标题】:What are the advantages of conv2d_same over conv2d(,padding='SAME') in faster rcnn?conv2d_same 在更快的 rcnn 中比 conv2d(,padding='SAME') 有什么优势?
【发布时间】:2018-07-19 20:29:03
【问题描述】:

为什么在更快的 rcnn 中使用conv2d_same 而不是普通的conv2d(..., padding='SAME')?

conv2d_same 代码位于Tensorflow GitHub。

【问题讨论】:

    标签: tensorflow neural-network computer-vision conv-neural-network object-detection


    【解决方案1】:

    conv2d_same 与conv2d 在stride == 1 时完全一样。

    当stride > 1,即意图是对张量进行下采样时,应用的填充有点不同。来自文档:

    当stride > 1 时,我们会做显式的零填充,然后是 conv2d 带有“有效”填充。请注意

    net = conv2d_same(inputs, num_outputs, 3, stride=stride)
    

    等价于

    net = slim.conv2d(inputs, num_outputs, 3, stride=1, padding='SAME')
    net = subsample(net, factor=stride)
    

    而

    net = slim.conv2d(inputs, num_outputs, 3, stride=stride, padding='SAME')
    

    当输入的高度或宽度是偶数时是不同的,这就是为什么我们 添加当前函数。

    区别基本上在于两种情况下下采样后得到的空间大小。

    【讨论】:

      猜你喜欢
      • 2020-02-06
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 2021-09-03
      • 2014-10-04
      • 2017-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多