Path: blob/master/site/ja/guide/migrate/evaluator.ipynb
25118 views
Copyright 2021 The TensorFlow Authors.
評価は、モデルの測定とベンチマークの重要な部分です。
このガイドでは、TensorFlow 1 から TensorFlow 2 に Evaluator タスクを移行する方法を示します。TensorFlow 1 では、API が分散して実行されている場合、この機能は tf.estimator.train_and_evaluate
によって実装されます。 Tensorflow 2 では、組み込みの tf.keras.utils.SidecarEvaluator
、または Evaluator タスクのカスタム評価ループを使用できます。
TensorFlow 1(tf.estimator.Estimator.evaluate
)と TensorFlow 2(Model.fit(..., validation_data=(...))
または Model.evaluate
)の両方に単純なシリアル評価オプションがあります。Evaluator タスクは、ワーカーがトレーニングと評価を切り替えないようにする場合に適しています。評価を分散する場合は、 Model.fit
の組み込み評価が適しています。
セットアップ
TensorFlow 1: tf.estimator.train_and_evaluate を使用した評価
TensorFlow 1 では、tf.estimator.train_and_evaluate
を使用して Estimator を評価するように tf.estimator
を構成できます。
この例では、tf.estimator.Estimator
を定義し、トレーニングと評価の仕様を指定することから始めます。
次に、モデルをトレーニングして評価します。このノートブックではローカル実行として制限されており、トレーニングと評価が交互に行われるため、評価はトレーニング間で同期的に実行されます。ただし、Estimator が分散して使用される場合、Evaluator は専用の Evaluator タスクとして実行されます。詳細については、分散トレーニングに関する移行ガイドを確認してください。
TensorFlow 2: Keras モデルの評価
TensorFlow 2 では、トレーニングに Keras Model.fit
API を使用する場合、tf.keras.utils.SidecarEvaluator
でモデルを評価できます。このガイドには示されていませんが、TensorBoard で評価指標を視覚化することもできます。
これを実証するために、まずモデルを定義してトレーニングすることから始めましょう。
次に、tf.keras.utils.SidecarEvaluator
を使用してモデルを評価します。実際のトレーニングでは、個別のジョブを使用して評価を実施し、ワーカーリソースをトレーニングに集中させることをお勧めします。
Next steps
サイドカー評価の詳細については、
tf.keras.utils.SidecarEvaluator
API ドキュメントを読むことを検討してください。Keras でトレーニングと評価を交互に行うことを検討するには、その他の組み込みメソッドについて読むことを検討してください。