tensorflow中的卷积神经网络的padding的两种方式

输入图片大小 W×W
Filter大小 F×F
步长strides S
padding的像素数 P
输出大小为NxN

tensorflow中的卷积神经网络的padding的两种方式
长宽不等时,卷积之后的计算公式也是如此,只需分别计算即可。

在实际操作时,我们还会碰到 padding的两种方式 “SAME” 和 “VALID”,padding = “SAME”时,会在图像的周围填 “0”,padding = “VALID”则不需要,即 P=0。一般会选“SAME”,以来减缓图像变小的速度,二来防止边界信息丢失(即有些图像边界的信息发挥作用较少)。

注意!!!

此时可能会发现,按照这两种方式,按照上面的公式怎么不对呀

其实公式是没有问题的,

padding = “VALID”: P=0
padding = “SAME”: kernel_size=1时,P=0;kernel_size=3时,P=1;kernel_size=5时,P=3,以此类推。

问题可能也就出在上面

tensorflow官网给出了另一种计算方式,也是正确的
(用这个更方便):
(用这个更方便):
(用这个更方便):

padding = “SAME”时:
tensorflow中的卷积神经网络的padding的两种方式
( 解释:输入w / 步长s 之后向上取整)

padding = “VALID”时:
tensorflow中的卷积神经网络的padding的两种方式
(也是向上取整)

举例说明

输入是55,
卷积核是3
3,
步长S = 2

padding= “SAME”时:

根据公式:
tensorflow中的卷积神经网络的padding的两种方式

根据公式:
tensorflow中的卷积神经网络的padding的两种方式

padding= “VALID”时:

根据公式:
tensorflow中的卷积神经网络的padding的两种方式
根据公式:
tensorflow中的卷积神经网络的padding的两种方式

之前在网上找的课
里面介绍的padding的计算方法跟这里的不一样
然后我就手动计算
发现是这里的正确
不知道网课为什么会教的不对,难道是时间版本不一样。
我这里的是gpu1.x版本

tensorflow中的卷积神经网络的padding的两种方式
tensorflow中的卷积神经网络的padding的两种方式