卷积输出大小的计算公式

定义

m m m: feature map的大小
k k k: kernel_size大小
s s s: stride大小
p p p: padding大小

公式

m ′ = ⌊ m − k + 2 × p s + 1 ⌋ m'=\lfloor \frac{m-k+2\times p}{s}+1 \rfloor m=smk+2×p+1

例如,如果是kenel_size = 3 =3 =3的卷积,要想feature_map的尺寸减半,那么当stride = 2 =2 =2时,padding是多少呢?则需要令
⌊ m − 3 + 2 × p 2 + 1 ⌋ = m 2 \lfloor \frac{m-3+2\times p}{2}+1 \rfloor=\frac{m}{2} 2m3+2×p+1=2m,又因为有

⌊ m − 3 + 2 × p 2 + 1 ⌋ = ⌊ m − 3 + 2 × p + 2 2 ⌋ = ⌊ m − 1 + 2 × p 2 ⌋ \lfloor \frac{m-3+2\times p}{2}+1 \rfloor=\lfloor \frac{m-3+2\times p+2}{2}\rfloor=\lfloor \frac{m-1+2\times p}{2}\rfloor 2m3+2×p+1=2m3+2×p+2=2m1+2×p

即:在 m 2 \frac{m}{2} 2m为整数的情况下,需要令 ⌊ 2 × p − 1 2 ⌋ \lfloor \frac{2\times p-1}{2}\rfloor 22×p1的值为0, = > => =>p=1

你可能感兴趣的:(深度学习,深度学习,人工智能)