当padding为“SAME” 和 “VALID”卷积层输出尺寸的大小的计算

我们32-32-3的图像,用5-5-3的卷积核在图像上滑过
在这里插入图片描述
计算如图所示(多通道图计算请自行脑补):
在这里插入图片描述

卷积之后的尺寸大小计算公式为:

在这里插入图片描述
其中:输入图片大小 W×W
Filter大小 F×F
步长strides S
padding的像素数 P
输出大小为NxN
在实际操作时,我们还会碰到 padding的两种方式 “SAME” 和 “VALID”,padding = “SAME”时,会在图像的周围填 “0”,padding = “VALID”则不需要,即 P=0。一般会选“SAME”,以来减缓图像变小的速度,二来防止边界信息丢失(即有些图像边界的信息发挥作用较少)。

padding = “VALID”:(不补0)
P=0
padding = “SAME”:(补0)

  1. 卷积核为奇数

Filter=1x1时,P=0;
Filter=3x3时,P=1;
Filter=05x5 时,P=2,以此类推。
P=(F-1)/2

  1. 卷积核的尺寸为偶数时:
    Filter=6x6时,P1=【6-1/2】向上取整,P2=【6-1/2】向下取整;

在这里插入图片描述
(这里变成减去P1再减P2)
ps:当步长为大于1的数是,计算N的公式,一律向下取整,这样可以正确计算N的大小。

tensorflow官网给出了另一种计算方式,也是正确的:
padding = “SAME”时:
在这里插入图片描述

N是 W/S后像上取整
例如:
输入图片大小 W×W=5x5;Filter大小 F×F=3x3;步长strides=2 输出大小为NxN,
5/2=3,那么N等于3
同样根据最开始那个公式:N=(5-3+2*1)/2+1=3

padding = “VALID”时:
在这里插入图片描述
同样向上取整,N=(5-3+1)/2=2
同样用最开始那个公式:N=(5-3)/2+1=2

猜你喜欢

转载自blog.csdn.net/ALZFterry/article/details/109105829