简介
卷积之后的尺寸大小计算公式为:
输入图片大小 W×W
Filter大小 F×F
步长strides S
padding的像素数 P
输出大小为NxN
我们可以得出
![](https://img-blog.csdnimg.cn/img_convert/2fe97e6623b72521b48e03dbb220fc08.gif)
(公式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=2,以此类推。
问题可能也就出在上面
tensorflow官网给出了另一种计算方式,也是正确的:
padding = “SAME”时:
![](https://img-blog.csdnimg.cn/img_convert/03389bf5a1cf0cc8840552ffb351102d.gif)
( 解释:输入w / 步长s 之后向上取整) (公式2)
padding = “VALID”时:
![](https://img-blog.csdnimg.cn/img_convert/0bae206a9e0c4a2c29860324d51bd5b5.gif)
(也是向上取整) (公式3)
举例说明
当
输入是5*5,
卷积核是3*3,
步长S = 2
padding= “SAME”时:
根据公式1:
![](https://img-blog.csdnimg.cn/img_convert/4002323737b1a9de75244bb9d7ecc8c7.gif)
根据公式2:
![](https://img-blog.csdnimg.cn/img_convert/f7a282c2bf058c63572ea638e5c2ba61.gif)
padding= “VALID”时:
根据公式1:
![](https://img-blog.csdnimg.cn/img_convert/f1771184d5f12d68709d89267087483c.gif)
根据公式3:
![](https://img-blog.csdnimg.cn/img_convert/6c32a0ca8e39b948899fbc2e4d11734f.gif)
编程结果
如下:
![](https://img-blog.csdnimg.cn/img_convert/44113be45e416c50369d2197f1b9eb86.png)
![](https://img-blog.csdnimg.cn/img_convert/b5fd393e38fec0e03daeaacb92ce78d5.png)