我有cuda8.0.61,tensorflow_gpu版本和keras。我在224*224图像数据上训练一个20层的keras模型当我在终端上运行nvidia -smi时,我发现内存正在耗尽,并且计算util的百分比更小。当我尝试拟合模型时,机器变得非常慢。我知道,为了使用gpu并在设备之间切换,我应该使用以下代码: with K.tf.device('/gpu:0'):
tf_conf
我很难确切地理解为什么GPU和CPU的速度与小尺寸的网络相似(CPU有时更快),而GPU在大尺寸的网络中更快。问题底部的代码在i7-6700k上运行103.7s,但当使用tensorflow-gpu时,代码运行29.5秒。我在另一个堆栈溢出答案上读到CPU->GPU传输需要很长时间,我假设这是在参考在GPU上加载数据示例。
谁能解释一下为什么会发生这种情况,并可能参考代码中的一些更改,以便最大限度地提高速度?import num