CNN 网络通道数、池化之后的变化,都是有公式可循的。
参考资料
卷积层(Conv Layer)的输出张量(图像)的大小
定义如下:
- O=输出图像的尺寸
- I=输入图像的尺寸
- K=卷积层的核尺寸
- N=核数量
- S=移动步长
- P =填充数
输出图像尺寸的计算公式如下:
$$ O = \frac {I - K + 2P}{S} + 1 $$
示例:输入图像的尺寸为227*227*3
.第一个卷积层有96
个尺寸为11*11*3
的核。步长为4
,填充为0
.
$$ O = \frac {227 - 11 + 2 * 0}{4} + 1 = 55 $$
输出的图像为55*55*96
(每个核对应1
个通道)。
池化层(MaxPool Layer)的输出张量(图像)的大小
定义如下:
- O=输出图像的尺寸
- I=输入图像的尺寸
- S=移动步长
- $P_s$=池化层尺寸
输出图像尺寸的计算公式如下:
$$ O = \frac {I - P_s}{S} + 1 $$
不同于卷积层,池化层的输出通道数不改变。
示例:每1层卷积层后的池化层的池化层尺寸为3*3
,步长为2
。根据前面卷积层的输出为55*55*96
。池化层的输出图像尺寸如下:
$$ O = \frac {55 - 3}{2} + 1 = 27 $$
输出尺寸为27*27*96
。