当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.test.create_local_cluster用法及代码示例


创建并启动本地服务器并返回关联的Server 对象。

用法

tf.test.create_local_cluster(
    num_workers, num_ps, protocol='grpc', worker_config=None,
    ps_config=None
)

参数

  • num_workers 要启动的工作服务器数量。
  • num_ps 要启动的 PS 服务器数量。
  • protocol 通讯协议。允许的值记录在 tf.distribute.Server 的文档中。
  • worker_config (可选)tf.ConfigProto 初始化工人。可用于实例化多个设备等。
  • ps_config (可选)tf.ConfigProto 初始化 PS 服务器。

返回

  • 一个元组 (worker_servers, ps_servers)worker_serverstf.distribute.Server 类型的num_workers 对象的列表(全部在本地运行); ps_servers 是类似类型的 num_ps 对象的列表。

抛出

  • ImportError 如果在加载时未找到 portpicker 模块

"PS"代表"parameter server":负责存储和更新模型参数的任务。其他任务在优化参数时会向这些参数发送更新。这种任务之间的特殊分工不是必需的,但对于分布式训练来说很常见。

阅读更多https://www.tensorflow.org/guide/extend/architecture

components

图说明了这些组件的交互。 "/job:worker/task:0" 和 "/job:ps/task:0" 都是带有工作服务的任务。

例子:

workers, _ = tf.test.create_local_cluster(num_workers=2, num_ps=2)

worker_sessions = [tf.compat.v1.Session(w.target) for w in workers]

with tf.device("/job:ps/task:0"):
  ...
with tf.device("/job:ps/task:1"):
  ...
with tf.device("/job:worker/task:0"):
  ...
with tf.device("/job:worker/task:1"):
  ...

worker_sessions[0].run(...)

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.test.create_local_cluster。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。