TensorFlow - 分布式计算
本章将重点介绍如何开始使用分布式 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