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


Python tf.distribute.HierarchicalCopyAllReduce用法及代碼示例

CrossDeviceOps 的分層副本all-reduce 實現。

繼承自:CrossDeviceOps

用法

tf.distribute.HierarchicalCopyAllReduce(
    num_packs=1
)

參數

  • num_packs 一個非負整數。要將值拆分成的包數。如果為零,則不進行打包。

拋出

  • 如果 num_packs 為負,則出現 ValueError。

它在某些層次結構中沿邊減少到一個 GPU,並沿同一路徑廣播回每個 GPU。對於批處理 API,張量將被重新打包或聚合以更有效地 cross-device 傳輸。

這是為 Nvidia DGX-1 創建的縮減,它假設 GPU 的連接方式與 DGX-1 機器上的連接方式相同。如果您有不同的 GPU inter-connections,它可能會比 tf.distribute.ReductionToOneDevice 慢。

對於不是 all-reduce 的歸約,它回退到 tf.distribute.ReductionToOneDevice

以下是在 tf.distribute.MirroredStrategy 中使用 HierarchicalCopyAllReduce 的方法:

strategy = tf.distribute.MirroredStrategy(
    cross_device_ops=tf.distribute.HierarchicalCopyAllReduce())

相關用法


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