2017-05-23 25 views
0

我使用GPU(1080 ti)训练了一个神经网络。 GPU上的训练速度远远优于使用CPU。在服务TensorFlow模型的过程中使用GPU有什么影响?

目前,我想用TensorFlow Serving服务此模型。我只是想知道在服务过程中使用GPU对性能有相同的影响吗?

由于培训适用于批处理,但推理(服务)使用异步请求,您是否建议在使用TensorFlow服务为模型提供服务时使用GPU?

回答

1

你仍然需要在图上做很多张量操作来预测一些东西。因此,GPU仍然提供了推理的性能改进。看看这个nvidia paper,他们没有测试他们对TF的东西,但它仍然是相关的:

我们的研究结果表明,GPU拥有先进设备,最先进的推论 性能和能效,使他们对于任何想要在现场部署经过训练的神经网络的人来说,选择平台 。特别是,Titan X的性能比16核Xeon E5 CPU高出5.3至6.7倍,同时实现了3.6至4.4 倍的高能效。

1

简短的回答是肯定的,在训练之后,你将获得大致相同的GPU加速。有一些小的资格。

您在训练中运行了2遍所有发生在GPU上的数据,在前馈推理期间您的工作量较少,因此相对于计算将花费更多时间将数据传输到GPU内存比在训练中。这可能是一个小小的区别。如果这是一个问题,你现在可以异步加载GPU(https://github.com/tensorflow/tensorflow/issues/7679)。

您是否确实需要GPU来进行推理取决于您的工作量。如果您的工作量不是过分苛刻,那么您可能会放弃使用CPU,毕竟,计算工作量不到每个样本的一半,因此请考虑每秒需要提供的请求数量并测试是否你超载你的CPU来实现这一点。如果你这样做,有时间让GPU出来!

相关问题