关于GPU(显存占用率,GPU利用率)

观察GPU利用率,显存占用率 工具:gpustat

1
2
3
pip install gpustat # 安装
watch --color -n1 gpustat -cpu # 监测
gpustat --force-color -cpu -i 1 # 颜色区分
  • 科普帖:深度学习中GPU和显存分析

    • 时间更宝贵,尽可能使模型变快(减少flop)
    • 显存占用不是和batch size简单成正比,模型自身的参数及其延伸出来的数据也要占据显存
    • batch size越大,速度未必越快。在你充分利用计算资源的时候,加大batch size在速度上的提升很有限

    尤其是batch-size,假定GPU处理单元已经充分利用的情况下:

    • 增大batch size能增大速度,但是很有限(主要是并行计算的优化)
    • 增大batch size能减缓梯度震荡,需要更少的迭代优化次数,收敛的更快,但是每次迭代耗时更长。
    • 增大batch size使得一个epoch所能进行的优化次数变少,收敛可能变慢,从而需要更多时间才能收敛(比如batch_size 变成全部样本数目)。
  • 深度学习PyTorch,TensorFlow中GPU利用率较低,CPU利用率很低,且模型训练速度很慢的问题总结与分析