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

您所在的位置:网站首页 印章的大小怎么计算出来 卷积层输出大小尺寸计算及padding为 “SAME” 和 “VALID”的计算

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

2024-07-11 20:26| 来源: 网络整理| 查看: 265

简介

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

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

我们可以得出

                                                \large N= \tfrac{W-F+2*P}{S}+1                                                                         (公式1)

长宽不等时,卷积之后的计算公式也是如此,只需分别计算即可。

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

注意!!!

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

其实公式是没有问题的,

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

问题可能也就出在上面

tensorflow官网给出了另一种计算方式,也是正确的:

padding = “SAME”时:

                                                \large N= \left \lceil \tfrac{W}{S} \right \rceil   ( 解释:输入w / 步长s 之后向上取整)                            (公式2)

padding = “VALID”时:

                                              \large N= \left \lceil \tfrac{W-F+1}{S} \right \rceil (也是向上取整)                                                       (公式2)

举例说明

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

padding= “SAME”时:

       根据公式1:

                                            \large N= \tfrac{W-F+2*P}{S}+1=\tfrac{5-3+2*1}{2}+1 = 3

       根据公式2:

                                           \large N= \left \lceil \tfrac{W}{S} \right \rceil=\left \lceil \tfrac{5}{2} \right \rceil=\left \lceil 2.5 \right \rceil=3

padding= “VALID”时:

根据公式1:

                                            \large N= \tfrac{W-F+2*P}{S}+1=\tfrac{5-3+2*0}{2}+1 = 2

 根据公式3:

                                           \large N= \left \lceil \tfrac{W-F+1}{S} \right \rceil=\left \lceil \tfrac{5-3+1}{2} \right \rceil=\left \lceil 1.5 \right \rceil=2

编程结果

如下: 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3