TensorFlow 怎么实现分布式计算?

文章导读
Previous Quiz Next 本章将重点介绍如何开始使用分布式 TensorFlow。目标是帮助开发者理解分布式 TF 中的基本概念,这些概念反复出现,例如 TF servers。我们将使用 Jupyter Notebook 来评估分布式 TensorFlow。使用
A A

TensorFlow - 分布式计算



Previous
Quiz
Next

本章将重点介绍如何开始使用分布式 TensorFlow。目标是帮助开发者理解分布式 TF 中的基本概念,这些概念反复出现,例如 TF servers。我们将使用 Jupyter Notebook 来评估分布式 TensorFlow。使用 TensorFlow 实现分布式计算的步骤如下 −

步骤 1 − 导入分布式计算所需的必要模块 −

import tensorflow as tf

步骤 2 − 创建一个包含一个节点的 TensorFlow cluster。让这个节点负责名为 "worker" 的 job,并在 localhost:2222 上运行一个 task。

cluster_spec = tf.train.ClusterSpec({'worker' : ['localhost:2222']})
server = tf.train.Server(cluster_spec)
server.target

上述脚本生成以下输出 −

'grpc://localhost:2222'
服务器当前正在运行。

步骤 3 − 通过执行以下命令,可以计算服务器配置及其相应的 session −

server.server_def

上述命令生成以下输出 −

cluster {
   job {
      name: "worker"
      tasks {
         value: "localhost:2222"
      }
   }
}
job_name: "worker"
protocol: "grpc"

步骤 4 − 使用服务器作为执行引擎启动 TensorFlow session。使用 TensorFlow 创建本地服务器,并使用 lsof 找出服务器的位置。

sess = tf.Session(target = server.target)
server = tf.train.Server.create_local_server()

步骤 5 − 查看此 session 中可用的 devices,并关闭相应的 session。

devices = sess.list_devices()
for d in devices:
   print(d.name)
sess.close()

上述命令生成以下输出 −

/job:worker/replica:0/task:0/device:CPU:0