默认情况下,TensorFlow 在计算时同时使用 GPU 和 CPU 还是仅使用 GPU?

3

默认情况下,TensorFlow将使用我们可用的GPU设备。那么,TensorFlow是否同时使用GPU和CPU进行计算,或者使用GPU进行计算并使用CPU进行作业处理(无论如何,我认为CPU始终处于活动状态)?


这取决于许多因素。但是,如果您的流水线正确,数据增强将在CPU上进行,而GPU将计算批处理。您可以使用htop、nvidia-smi监视它,并检查内存吞吐量 - 瓶颈很容易找到。 - undefined
3个回答

4
通常情况下,它同时使用CPU和GPU(假设您正在使用启用了GPU的TensorFlow)。实际使用哪个取决于代码使用的实际操作。
对于TensorFlow中可用的每个操作,都有几种“实现”,通常是CPU实现和GPU实现。一些操作仅具有CPU实现,因为对于GPU实现来说没有意义,但总体而言,大多数操作都适用于两种设备。
如果您创建自定义操作,则需要提供您想要的实现。

1

TensorFlow操作附带一个可以执行它们的设备列表和相关优先级列表。

例如,卷积非常适合在GPU上计算;但仍可在CPU上完成,而标量加法应该在CPU上完成。您可以使用tf.Device和与感兴趣的设备相关联的键覆盖此选择。


-2

如果我错了,请有人纠正我。

但据我所知,TensorFlow只使用GPU或CPU,具体取决于您运行的安装方式。例如,如果您在Python 2中使用pip install TensorFlow,或者在Python 3中使用python3 -m pip install TensorFlow,那么您将使用CPU版本。

反之亦然,如果您想使用GPU版本。

如果您还有任何问题,或者这个回答没有正确解答您的问题,请随时向我提问。


2
你错了 - GPU版本也支持CPU。查看官方文档,上面写着:“如果一个TensorFlow操作既有CPU实现又有GPU实现,默认情况下,当操作被分配到设备时,GPU设备将优先考虑。” https://www.tensorflow.org/guide/gpu - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接