Tensorflow GPU训练模型时假卡死
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tensorflow GPU训练模型时假卡死相关的知识,希望对你有一定的参考价值。
笔者在进行Tensorflow训练ssd网络进行目标检测训练时,发现会假卡死。故记录下,供大家参考。
系统:
硬件 i5-8500 ddr4 2666 8G内存 gtx1070(8G显存)。
软件 win10 64bit CUDA 10.0(不要用10.1) cudnn 7.x Tensorflow 1.15.0
不卖馆子,内存是关键
当然,在这种多架构需要一起搭配运行的系统。确实还可能存在其他不确定因素,笔者只是总结自己的经验,大家少走弯路。
上图就是笔者用上述软件版本跑的结果,有标出一次step大约0.3秒。还有一次卡住用了110秒。但是这种卡死会随着系统负载缓解后,继续恢复。
一般情况,都是CPU负载一般,GPU计算负载一般(估计任务还不够重),但是GPU显存几乎占满。
因为当时开着Pycharm干活,出现了内存满,提示关闭Pycharm。
笔者估计需要用系统内存来坐交换,这时就会卡住。(任务管理器里看不出来)
建议内存至少16G起配。若只有8G,可以换下
CUDA 9 cudnn 7.x Tensorflow <1.13.0(笔者用着1.11.0的版本试过可行。过高版本会报调用CUDA10.0的库,找不到。)
这种搭配,CPU占用比较高,GPU占用一般,显存负载也是满。(任务管理器里看)
测试同样的训练任务。一次step用时大约1.2秒。
为了能提高效率,现在就用CUDA10.0 Tensorflow1.15.0 升级内存到16G
还是会出现假死,但是会明显缓解。
Ubuntu上没试过,如果大家有经验,欢迎留言。
以上是关于Tensorflow GPU训练模型时假卡死的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 gpu 并行训练 tensorflow.keras 模型? TensorFlow 版本 2.5.0
Tensorflow:您如何在模型训练期间实时监控 GPU 性能?