當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。