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


Python tf.compat.v1.distribute.ReplicaContext用法及代碼示例


具有可在副本上下文中調用的 API 集合的類。

用法

tf.compat.v1.distribute.ReplicaContext(
    strategy, replica_id_in_sync_group
)

參數

  • strategy 一個tf.distribute.Strategy
  • replica_id_in_sync_group 整數,Tensor 或無。盡可能首選整數以避免嵌套 tf.function 的問題。它接受 Tensor 隻是為了與 tpu.replicate 兼容。

屬性

  • devices 以字符串元組的形式返回要執行此副本的設備。 (已棄用)

    警告:此函數已棄用。它將在未來的版本中刪除。更新說明:請避免依賴設備屬性。

    注意:對於 tf.distribute.MirroredStrategytf.distribute.experimental.MultiWorkerMirroredStrategy ,這將返回設備字符串的嵌套列表,例如 [["GPU:0"]]。

  • num_replicas_in_sync 返回保持同步的副本數。
  • replica_id_in_sync_group 返回副本的 id。

    這標識了所有保持同步的副本中的副本。副本 id 的值範圍可以從 0 到 tf.distribute.ReplicaContext.num_replicas_in_sync - 1。

    注意:這不能保證與用於低級別操作(例如 collective_permute)的 XLA 副本 ID 相同。

  • strategy 當前的tf.distribute.Strategy 對象。

您可以使用 tf.distribute.get_replica_context 獲取 ReplicaContext 的實例,該實例隻能在傳遞給 tf.distribute.Strategy.run 的函數內部調用。

strategy = tf.distribute.MirroredStrategy(['GPU:0', 'GPU:1'])
def func():
  replica_context = tf.distribute.get_replica_context()
  return replica_context.replica_id_in_sync_group
strategy.run(func)
PerReplica:{
  0:<tf.Tensor:shape=(), dtype=int32, numpy=0>,
  1:<tf.Tensor:shape=(), dtype=int32, numpy=1>
}

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.compat.v1.distribute.ReplicaContext。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。