卷积输出大小的计算公式
定义
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′=⌊sm−k+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}
⌊2m−3+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 ⌊2m−3+2×p+1⌋=⌊2m−3+2×p+2⌋=⌊2m−1+2×p⌋
即:在
m
2
\frac{m}{2}
2m为整数的情况下,需要令
⌊
2
×
p
−
1
2
⌋
\lfloor \frac{2\times p-1}{2}\rfloor
⌊22×p−1⌋的值为0,
=
>
=>
=>p=1