最近,我在已经从事了相当一段时间的项目中发现了一些很奇怪的东西。我拥有的模型相当传统:一个带有几个完全连接的层的卷积网络。对于数据加载,我使用tf.data API,但是在移植到tf.data之前,基于队列的代码也会发生同样的事情。从模型训练开始几个小时后,CPU使用率就上升到非常高的水平,如htop
实用程序报告的那样,为1500-2000%。在开始培训时,一切都很好,主过程仅显示了约200%的CPU使用率。随附的是htop
输出的屏幕截图,令人担心的另一件事是所有子进程的CPU负载也很高。
我正在使用tensorflow-gpu 1.11版,并在NVIDIA Tesla V100上运行它。我非常确定该模型确实在GPU而非CPU上运行:nvidia-smi显示GPU的占用率约为70%。
很显然,我不能要求确切的原因,将问题简化为可重现的测试用例很困难。但是,也许您可以指出一些适用于这种情况的调试技术。