神经网络对一张图像的推断:为什么GPU利用率不是100%?

时间:2018-11-10 14:58:51

标签: python tensorflow neural-network gpu inference

首先:这个问题与神经网络推理有关,而不是训练。

我发现,当在GPU(例如P100)上一遍又一遍地推断训练有素的神经网络时,使用Tensorflow的计算能力利用率未达到100%,而是达到了约70%。如果不必将图像传输到GPU,也是如此。因此,该问题必须与计算并行化中的约束条件联系起来。我的最佳猜测是:

  • Tensorflow 只能利用达到一定级别的GPU并行化功能。 (同样,与TensorRT模型相同的模型的利用率更高)。在这种情况下,问题是:这样做的原因是什么?

  • 固有的神经网络结构和随后的几层避免了更高的使用率。因此,问题不在于框架的开销,而在于神经网络的一般设计。在这种情况下,问题是:对此有什么限制?

  • 以上两者兼而有之。

感谢您对这个问题的想法!

1 个答案:

答案 0 :(得分:1)

为什么对一张图像运行神经网络预测时,为什么GPU利用率会达到100%?

GPU利用率是以时间为单位的(例如1秒)。这意味着,当神经元网络算法在此时间单位过去之前(例如0.5秒内)结束时,GPU的其余时间可能会被其他程序使用或根本不使用。如果其他程序均未使用GPU,那么您将无法达到100%。