[英]Tensorflow Multi-GPU loss
我正在研究如何在Tensorflow上實施多GPU培訓。 現在,我按照文檔中的建議閱讀此資源 。 據我了解,在第178行,可變損失僅說明了一個GPU的損失(如評論所述)。 因此,在周期的末尾,例如第192行,損失將保留所考慮的最后一個GPU的損失值。 可變損失直到傳遞給Session.run()進行計算后,才在第243行使用。 因此,在第255行打印的損失值僅是最后一個GPU的損失,而不是總數。 在我看來,Google工程師這么簡單的事情弄錯了,我想念的是什么? 謝謝!
似乎您沒有丟失任何東西。 他們認為打印損失值並報告一塔的摘要就足夠了。
通常,當您開始在多個GPU上使用新模型時,您會跟蹤每個GPU的損耗/匯總和/或僅計算調試時的平均損耗。 之后,僅跟蹤一個塔就足夠了,因為每個塔都包含相同的模型副本。
順便說一句,我發現使用tf.estimators
進行多GPU訓練更容易,同時使用tf.contrib.estimator.replicate_model_fn(...)
和tf.contrib.estimator.TowerOptimizer(...)
來分發模型並優化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.