Pytorch学习笔记(五)——CNN中卷积和池化操作后的特征图大小计算方法
一、卷积操作
注意:卷积操作需要向下取整
假设:
设输入图像尺寸为WxW,卷积核尺寸为FxF,步幅为S,填充为P,经过该卷积层后输出的图像尺寸为NxN,计算公式为:
N
=
W
−
F
+
2
P
S
+
1
N=\cfrac {W-F+2P} {S}+1
N=SW−F+2P+1
设输入图像尺寸为WxH,卷积核的尺寸为FxF,步幅为S,图像深度(通道数)为C,填充为P,则:
W
=
W
−
F
+
2
P
S
+
1
W=\cfrac {W-F+2P} {S}+1
W=SW−F+2P+1
H
=
H
−
F
+
2
P
S
+
1
H=\cfrac {H-F+2P} {S}+1
H=SH−F+2P+1
如果无填充,公式可以简化为“
WxW:
N
=
W
−
F
S
+
1
N=\cfrac {W-F} {S}+1
N=SW−F+1
WxH:
W
=
W
−
F
S
+
1
W=\cfrac {W-F} {S}+1
W=SW−F+1
H
=
H
−
F
S
+
1
H=\cfrac {H-F} {S}+1
H=SH−F+1
也可使用以下公式计算:
二、池化操作
注意:当进行池化操作时,步长S就等于池化核的尺寸,需要向下取整
设输入图像尺寸为WxH,其中W:图像宽,H:图像高,卷积核的尺寸为FxF,S:步长
池化后输出图像大小:
WxW:
N
=
W
−
F
S
+
1
N=\cfrac {W-F} {S}+1
N=SW−F+1
WxH:
W
=
W
−
F
S
+
1
W=\cfrac {W-F} {S}+1
W=SW−F+1
H
=
H
−
F
S
+
1
H=\cfrac {H-F} {S}+1
H=SH−F+1
参考:
图像卷积和池化操作后的特征图大小计算方法