如何分析神经网络的显存占用?

Float32 是在深度学习中最常用的数值类型,称为单精度浮点数,每一个单精度浮点数占用4Byte的显存。


在整个神经网络训练周期中,在GPU上的显存占用主要包括:数据,模型参数,模型输出等。


数据侧:如一个32*3*128*128的四维矩阵,其占用的显存 = 32*3*128*128*4 /1000 / 1000 = 6.3M


模型侧:占用显存的层包括卷积层,全连接层,BN层,梯度,优化器的参数等。


输出侧:占用的显存包括网络每一层计算出来的feature map以及对应的梯度等。


蓝海大脑 京ICP备18017748号-1