如何计算batchnorm占用显存?


#1

模型的显存占用分为两种情况计算:
(1)memory for param
卷积核的参数、BN层、全连接层的参数等
(2)memory for layer outputs
1)如果使用SGD,需要2倍模型参数的显存占用,模型参数+模型参数的梯度;
2)如果使用SGD+Momentum,需要3倍的模型参数显存占用,模型参数+梯度+动量;
3)如果使用Adam,需要4倍的显存占用,模型参数+梯度+动量+二阶动量。
那么BN层对memory for layer outputs 难道没有贡献吗?它也有layer outputs啊