0%

CNN | 关于 CNN 的计算公式

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

请我喝杯咖啡吧~