(原创、不是重复文章)GPU Memory Usage占满而GPU-Util却为0的情况

  • Post author:
  • Post category:其他





一句话:


在你的一个batch的数据都没加载进GPU内存前,你的GPU可能已经被占用了好几个G了,这几个G的数据就是你的model本身所需要的内存。






在你代码启动的那一刻,pytorch开始加载model,你的模型的复杂程度导致所需要的参数数量不一致,而这些参数所占用的内存不是用的系统内存,而是用你的GPU内存(即显存)。






先不讲其它文章提到的batch_size 、num_workers等等参数的调整。如果你的model够复杂,可能根本等不到加载到batch的那一刻内存就已经所剩无几了。所以为什么GPU Memory Usage都快满了,但是GPU-Util一点没反应,就是因为你可能一个batch的数据都没传进来,传进来的都是model本身需要的参数,GPU当然不用去计算喽。




参考文章:


(20条消息) 深度学习中GPU和显存分析_LoveMIss-Y的博客-CSDN博客

额外补充:

GPU Memory Usage占满而GPU-Util却为0的调试 – wowarsenal – 博客园

该博主说不能用


numpy.float64




类型的数据而要用




numpy.float32




的数据,要引起注意!



(该说不说,现在找篇文章真的难的想




yue




,都是一样




的文章,我是来解决问题的,不是来看你们谁把封面做的更好看的,内容真的就一摸一样。就这么简单的一句话愣是查一两个小时甚至更久。)



版权声明:本文为weixin_57234928原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。