簡體   English   中英

具有多GPU方法的tensorflow分布式訓練混合

[英]tensorflow distributed training hybrid with multi-GPU methodology

在使用了當前的分布式培訓實現一段時間后,我認為它會將每個GPU視為一個單獨的工作程序,但是現在通常在一個盒子中安裝2〜4個GPU。 采用單盒多GPU方法更好地先在單盒中計算平均梯度,然后在多個節點之間進行同步,這不是更好嗎? 這樣可以大大減輕I / O流量,而這始終是數據並行性的瓶頸。

有人告訴我當前的實現方式是將所有GPU都作為一個工作器放在一個盒子中,但是我無法弄清楚如何用SyncReplicasOptimizer綁定平均梯度,因為SyncReplicasOptimizer直接將優化器作為輸入。

任何人有任何想法嗎?

分布式TensorFlow在同一工作任務中支持多個GPU。 對圖像模型執行分布式訓練的一種常見方法是在同一工作程序中的多個GPU之間執行同步訓練,而在工作程序中進行異步訓練(盡管其他配置也是可能的)。 這樣,您只需一次將模型參數拉給工作線程,然后就可以在本地GPU之間分配模型參數,從而簡化了網絡帶寬的利用。

為了進行這種培訓,許多用戶在單個工作程序中跨GPU執行“圖形復制”。 這可以在本地GPU設備之間使用顯式循環,例如在CIFAR-10示例模型中 或更高級別的庫支持,例如TF-Slim中的model_deploy()實用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM