Path: blob/master/site/ja/guide/migrate/mirrored_strategy.ipynb
25118 views
Copyright 2021 The TensorFlow Authors.
単一ワーカーでのマルチ GPU トレーニングの移行
このガイドでは、単一ワーカーのマルチ GPU ワークフローを TensorFlow 1 から TensorFlow 2 に移行する方法を実演します。
1 台のマシンのマルチ GPU で同期トレーニングを実行するには、
TensorFlow 1 では、
tf.distribute.MirroredStrategy
でtf.estimator.Estimator
API を使用します。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
を使った分散トレーニングの詳細については、次のドキュメントを参照してください。