【发布时间】: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
为什么在更快的 rcnn 中使用conv2d_same 而不是普通的conv2d(..., padding='SAME')?
conv2d_same 代码位于Tensorflow GitHub。
【问题讨论】:
标签: tensorflow neural-network computer-vision conv-neural-network object-detection
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')当输入的高度或宽度是偶数时是不同的,这就是为什么我们 添加当前函数。
区别基本上在于两种情况下下采样后得到的空间大小。
【讨论】: