卷积神经网络中same padding 和 valid padding

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/szj_huhu/article/details/73850423

The TensorFlow Convolution example gives an overview about the difference between SAME and VALID :

For the SAME padding, the output height and width are computed as:

out_height = ceil(float(in_height) / float(strides[1]))

out_width = ceil(float(in_width) / float(strides[2]))
And

For the VALID padding, the output height and width are computed as:

out_height = ceil(float(in_height - filter_height + 1) / float(strides1))

out_width = ceil(float(in_width - filter_width + 1) / float(strides[2]))

输入:【N,2,3,1】样本数,2行,3列,1个颜色通道
如果:tf.nn.conv2d(x,W,strides=[1,1,1,1],padding=”SAME”)
strides 1*1 采用same padding
(2)/ 1 = 2
(3)/ 1 = 3
输出:【N,2,3,32】 32是卷积后的图像高度

strides 1*1 采用valid padding
(2 -1 +1)/ 1 = 2
(3 -1 +1)/ 1 = 3
输出:【N,2,3,32】 32是卷积后的图像高度
same padding 和 valid padding 输出结果相同

如果:tf.nn.conv2d(x,W,strides=[1,2,2,1],padding=”SAME”)
strides 2*2 采用same padding
(2)/ 2 = 1
ceil((3)/ 2) = 2
输出:【N,1,2,32】 32是卷积后的图像高度

strides 2*2 采用valid padding
ceil((2-2 +1)/ 2) = 1
(3 -2+ 1)/ 2 = 1
输出:【N,1,1,32】 32是卷积后的图像高度
same padding 和 valid padding 输出结果不相同

展开阅读全文
博主设置当前文章不允许评论。

没有更多推荐了,返回首页