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


Python tf.config.experimental_connect_to_cluster用法及代码示例


连接到给定的集群。

用法

tf.config.experimental_connect_to_cluster(
    cluster_spec_or_resolver, job_name='localhost', task_index=0,
    protocol=None, make_master_device_default=True, cluster_device_filters=None
)

参数

  • cluster_spec_or_resolver 说明集群的ClusterSpecClusterResolver
  • job_name 本地作业的名称。
  • task_index 本地任务索引。
  • protocol 通信协议,例如 "grpc" 。如果未指定,将使用 python/platform/remote_utils.py 中的默认值。
  • make_master_device_default 如果 True 并且通过了集群解析器,将自动进入 master 任务设备范围,这表明 master 成为运行 ops 的默认设备。如果通过了集群规范,它不会做任何事情。如果调用者当前已经在某个设备范围内,则会抛出错误。
  • cluster_device_filters tf.train.experimental/ClusterDeviceFilters 的实例,为集群中的远程任务指定设备过滤器。

将使集群上的设备可供使用。请注意,多次调用它会起作用,但会使旧远程设备上的任何张量句柄无效。

如果集群规范中不存在给定的本地作业名称,它将使用本地主机上未使用的端口自动添加。

可以指定设备过滤器来隔离远程任务组,以避免工作人员之间进行不希望的访问。在过滤的远程设备上访问资源或启动操作/函数的工作人员将导致错误(未知设备)。对于任何远程任务,如果不存在设备过滤器,则所有集群设备都将可见;如果指定了任何设备过滤器,它只能看到匹配至少一个过滤器的设备。任务本身的设备始终可见。可以部分指定设备过滤器。

例如,对于为参数服务器训练设置的集群,可能会指定以下设备过滤器:

cdf = tf.config.experimental.ClusterDeviceFilters()
# For any worker, only the devices on PS nodes and itself are visible
for i in range(num_workers):
  cdf.set_device_filters('worker', i, ['/job:ps'])
# Similarly for any ps, only the devices on workers and itself are visible
for i in range(num_ps):
  cdf.set_device_filters('ps', i, ['/job:worker'])

tf.config.experimental_connect_to_cluster(cluster_def,
                                          cluster_device_filters=cdf)

相关用法


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