我已经安装了Tensorflow 1.4 GPU版本。Cuda8也被安装了。
我用MNIST数据训练了我的简单的GAN网络。我有AMD FX 8320 CPU,16 FX系统内存和SSD硬盘驱动器。
在具有1GB内存的GeForce 720 GPU上,每小时大约需要17秒钟。训练使用了25%的GPU和99%的内存。CPU负载很高,接近100%。
然后,我用GeForce1050、Ti、GPU和4Gb内存插入了其他视频板,而不是以前的。GPU加载时间为5-6%,内存利用率为93%.但我仍然有大约17s的每一个时代和高负荷的CPU。
那么也许Tensorflow有一些设置来利用更多的GPU呢?或者,高CPU负载和低GPU负载的原因是什么?
发布于 2018-07-25 01:01:43
如果你正在训练一个简单的GAN网络,很可能你的老GPU不是瓶颈。因此,改进它没有任何效果。如果每个sess.run()
调用的工作量很小,则开销(执行您的TensorFlow代码、将输入数据复制到GPU、启动和运行TensorFlow执行器、将所有操作调度到GPU等)可以控制您的计算。
要知道发生了什么,唯一可靠的方法就是分析。您可以在这里查看一下guide作为起点。它提到的时间线工具可能相当有用。有关更多细节,请参见这里:Can I measure the execution time of individual operations with TensorFlow?。
发布于 2018-09-26 11:34:34
同意,对于MNIST数据集,系统中可能还有其他瓶颈,而不是GPU。我同时跑了两个TensorFlows,
基本上,第八代卡比湖英特尔CPU对第四代英特尔,我得到:
所以我没有GPU就跑了20%,只是新一代的英特尔芯片。
https://stackoverflow.com/questions/48010586
复制相似问题