当前位置:   article > 正文

GPU显存占满但利用率却很低_gpu显存满了, 但是gpu利用率很低

gpu显存满了, 但是gpu利用率很低

来帕多瓦联培已经一个多月了,最近调代码跑实验又发现了这个问题。这里提供另外一个解决思路。一个原因还是 cpu没跟上gpu节奏

通常我们都会用尽可能大的 batch 来占满显存。但是如果cpu的读取和传输跟不上的话就会导致gpu利用率时上时下,而且训练时间还会变长。

这里可以尝试减小batch,以减轻cpu工作负担,增加gpu利用率,同时还能加速训练。 举个例子。

训练 基于resnet101+deeplabv3的语义分割模型:
1. batch size为4:总训练时间一小时;
2. batch size为2:总训练时间半小时;

下图为batch size=4时的设备状态。
可以看到gpu中间是有很多次休息的。
在这里插入图片描述
同时训练时间也要一个多小时。
在这里插入图片描述

下图为batch size=2时的设备状态。
可以看到,仅仅降低了batch size,就把gpu利用率拉满了。
在这里插入图片描述
同时训练时间也缩短了不少。

在这里插入图片描述
最后小batch的问题可以通过累积几个batch梯度再优化来解决。

总结

说到底还是不够有钱,这样也好,多出来的内存还能再让我跑跑别的程序!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/610229
推荐阅读
相关标签
  

闽ICP备14008679号