TensorFlow - GPU显存很高 而利用率Volatile GPU-Util很低

TensorFlow学习- GPU显存占满而利用率(util)很低原因&提高方法_m0_38064529的博客-CSDN博客
https://blog.csdn.net/m0_38064529/article/details/103168172

参考1:
TensorFlow如何提高GPU训练效率和利用率
分析显卡利用率低的原因是每个训练过程中有些进程是在CPU中执行的,像load下个batch、预处理batch、打印日志、后处理等,并且有的任务cpu和GPU是交替执行的,进一步降低了GPU利用率。
提出了四个方式提高利用率:
1、把代码都用tf的API重写;
2、使用Estimator把大部分代码写进计算图
3、使用th.data预处理数据集,并用tf.records存储
4、用prefetch、parallel mapping使样本并行处理,不让gpu闲着

由于是新手具体的操作过程哈没看懂,详细直接看原文。

参考2:
实验中GPU利用率低的可能的原因:
作者进行试验分析出来是日志的问题,把关于权重和偏差值记录的代码注释掉之后利用率提高了。原因和上一篇差不多。

参考3:
GPU Memory Usage占满而GPU-Util却为0的调试
作者的CPU全满,GPU却是0
通过阅读官方文档分析出原因是 GPU不能计算 float64,算的话就很慢
然后根据文档建议,使用config和warn_float64帮助找到float64的输入;之后试图设定一个cast_policy参数,自动把numpy产生的数组转换成float32失败;最后检查所有numpy调用,全部手动制定dtype=numpy.float32,执行一下某个命令,成功!

 

 

batch size太小,导致模型的并行化程度太低。还有你的cpu、内存/显存带宽性能不足。

https://ask.csdn.net/questions/752324

 

 

训练效率低?GPU利用率上不去?快来看看别人家的tricks吧~ - 知乎  (推荐)
https://zhuanlan.zhihu.com/p/53345706

 

 

 

你可能感兴趣的:(tensorflow)