天天看点

卷积神经网络中参数量的计算与模型占用显存的计算

关于参数的计算

卷积神经网络中参数量的计算与模型占用显存的计算

如果你理解了上图的列子,欢迎你再尝试自己计算一下VGG16的总参数量

值得一提的是,在训练的时候,因为有forward 和 backward,所以参数量要乘以2

另外一个就是网络所需要的内存,这个也是非常重要的一个指标,因为当前的GPU内存空间非常有限。可以从下图得知,在网络最开始的几层,占用的GPU内存最多,而绝大多数的参数,都来自于全连接层,这也是一个后来全局池化被运用而全连接层被减少使用的原因。

卷积神经网络中参数量的计算与模型占用显存的计算
  • 蓝色为参数量的计算,计算方式为:sum(卷积核大小×通道数×卷积核数量 )= 参数量
  • 红色为显存占用的计算,因为不仅有前向运算,还有反向运算故×2。在图像运算时通常使用float32,每个数字为4bytes,故×4,计算方式为:sum(每次运算后输出的特征图高×宽×通道数)×2×4 = 显存

继续阅读