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


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