TensorFlow 默认使用多少个核心(不使用 Coordinator)?

问题描述 投票:0回答:1

我猜tensorflow默认使用单核(当我不使用“Coordinator”时),因为tensorflow是python库。

但是,当我在 Mac 上看到运行 Tensorflow 代码的活动监视器时 默认情况下,python 3.6 的 $CPU 高于 100%,线程数大于 10。

tensorflow默认使用多核吗?

python multithreading tensorflow cpu-cores
1个回答
0
投票

Tensorflow 是一个 Python 库,但它本质上是本机 C++ 实现的包装器。每当你定义一个操作时,就像这样:

with tf.device("/cpu:0"):
  a = tf.Variable(3.0)
  b = tf.constant(4.0)
  c = a * b

...

c
不是 python 变量
a
b
的乘法,而是一个
tf.multiply
操作,它没有那么简单的 CPU 和 GPU 实现

所以它不应该让您感到困惑:张量流引擎正在尝试使用所有可用的硬件能力来执行操作,特别是,如FAQ所述,是多核的:

各个操作具有并行实现,在 CPU 中使用多个内核,或在 GPU 中使用多个线程。

顺便说一句,值得注意的是,

"/cpu:0"
设备聚合了多CPU系统上的所有CPU。 目前无法将节点固定在特定 CPU 上或使用 只是所有 CPU 的子集。

© www.soinside.com 2019 - 2024. All rights reserved.