問題タブ [distributed-tensorflow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tensorflow - Tensorflow Mirror 戦略と Horovod 配布戦略
Tensorflow Mirror Strategy と Horovod Distribution Strategy の基本的な違いは何かを理解しようとしています。
ドキュメントとソース コードの調査から、Horovod ( https://github.com/horovod/horovod ) が Message Passing Protocol (MPI) を使用して複数のノード間で通信していることがわかりました。具体的には MPI の all_reduce、all_gather を使用します。
私の観察によると (間違っているかもしれません)、Mirror Strategy も all_reduce アルゴリズムを使用しています ( https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/distribute )。
どちらも、データ並列の同期トレーニング アプローチを使用しています。それで、私はそれらがどのように違うのか少し混乱していますか?違いは実装のみですか、それとも他の (理論的な) 違いがありますか?
また、horovod と比較して、ミラー戦略のパフォーマンスはどうですか?
tensorflow - テンソルフローを使用したイーガー モードでの分散実行
最近公開されたホワイト ペーパーと GitHub のRFCによると、テンソルフロー イーガーは現在、分散実行をサポートしています。グラフ モードと同様に、デバイス名を「/job:training/task:2/device:GPU:0」のように設定することで、リモート デバイスで操作を熱心に実行できることが言及されています。ただし、その方法に関するコード例やチュートリアルは見つかりません。
グラフと熱心なモードの両方をサポートする分散トレーニング用の高レベル API であるtf.distributeに関するチュートリアルがたくさんあることに注意してください。しかし、熱心なモードの内部でtf.distribute がどのように機能するかにもっと興味があります。具体的には、次のことを知りたいです。
熱心なモードでクライアントをリモートサーバーに接続する方法は?
クラスター定義はいつ、どのようにイーガー モードで指定されますか?
誰かがそれらの質問に答えてくれたら幸いです。ありがとう!