Path: blob/master/site/ja/guide/migrate/mirrored_strategy.ipynb
38968 views
Copyright 2021 The TensorFlow Authors.
単一ワーカーでのマルチ GPU トレーニングの移行
このガイドでは、単一ワーカーのマルチ GPU ワークフローを TensorFlow 1 から TensorFlow 2 に移行する方法を実演します。
1 台のマシンのマルチ GPU で同期トレーニングを実行するには、
TensorFlow 1 では、
tf.distribute.MirroredStrategyでtf.estimator.EstimatorAPI を使用します。TensorFlow 2 では、Keras Model.fit または、カスタムトレーニングループを
tf.distribute.MirroredStrategyで使用できます。詳しくは、TensorFlow を使用した分散トレーニングガイドを参照してください。
セットアップ
まず、インポートとデモ用の単純なデータセットから始めます。
TensorFlow 1: tf.estimator.Estimator を使った単一ワーカーでの分散トレーニング
この例では、TensorFlow 1 での単一ワーカーのマルチ GPU トレーニングの標準ワークフローを示します。tf.estimator.Estimator の config パラメータを使用して、分散ストラテジー (tf.distribute.MirroredStrategy)を設定する必要があります。
TensorFlow 2: Keras を使った単一ワーカーでのトレーニング
TensorFlow 2 に移行する場合は、tf.distribute.MirroredStrategy で Keras API を使用できます。
モデル構築に tf.keras API を使用し、トレーニングに Keras Model.fit を使用する場合、主な違いは、tf.estimator.Estimator の config を定義する代わりに Keras モデル、オプティマイザ、および指標をStrategy.scope のコンテキストでインスタンス化することです。
カスタムトレーニングループを使用する必要がある場合は、カスタムトレーニングループで tf.distribute.Strategy を使用するガイドを確認してください。
次のステップ
TensorFlow 2 の tf.distribute.MirroredStrategy を使った分散トレーニングの詳細については、次のドキュメントを参照してください。
TensorFlow.org で表示
Google Colab で実行
GitHub でソースを表示
ノートブックをダウンロード