本博客只用于自身学习,如有错误,虚心求教!!!
Table of Contents
简介
卷积之后的尺寸大小计算公式为:
- 输入图片大小 W×W
- Filter大小 F×F
- 步长strides S
- padding的像素数 P
- 输出大小为NxN
我们可以得出
(公式1)
长宽不等时,卷积之后的计算公式也是如此,只需分别计算即可。
在实际操作时,我们还会碰到 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”时:
( 解释:输入w / 步长s 之后向上取整) (公式2)
padding = “VALID”时:
(也是向上取整) (公式2)
举例说明
当
- 输入是5*5,
- 卷积核是3*3,
- 步长S = 2
padding= “SAME”时:
根据公式1:
根据公式2:
padding= “VALID”时:
根据公式1:
根据公式3:
编程结果
如下: