Path: blob/master/site/ja/guide/migrate/sessionrunhook_callback.ipynb
25118 views
Copyright 2021 The TensorFlow Authors.
SessionRunHook を Keras コールバックに移行する
TensorFlow 1 でトレーニングの動作をカスタマイズするには、tf.estimator.Estimator
で tf.estimator.SessionRunHook
を使用します。このガイドでは、SessionRunHook
から tf.keras.callbacks.Callback
API を使用して TensorFlow 2 のカスタムコールバックに移行する方法を示します。これは、トレーニングのために Keras Model.fit
(Model.evaluate
および Model.predict
も)と使用できます。この方法を学習するために、トレーニング時に 1 秒あたりのサンプルを測定する SessionRunHook
と Callback
タスクを実装します。
コールバックの例は、チェックポイントの保存 (tf.keras.callbacks.ModelCheckpoint
)と TensorBoard の要約の書き込みです。Keras コールバックは、組み込みの Keras Model.fit
/Model.evaluate
/Model.predict
API のトレーニング/評価/予測時にさまざまな時点で呼び出されるオブジェクトです。コールバックの詳細については、tf.keras.callbacks.Callback
API ドキュメント、および独自のコールバックの作成と組み込みメソッドを使用したトレーニングと評価(コールバックの使用セクション)ガイドを参照してください。
セットアップ
まず、インポートとデモ用の単純なデータセットから始めます。
TensorFlow 1: tf.estimator API を使用してカスタム SessionRunHook を作成する
次の TensorFlow 1 の例は、トレーニング時に 1 秒あたりのサンプルを測定するカスタム SessionRunHook
を設定する方法を示しています。フック (LoggerHook
) を作成し、tf.estimator.Estimator.train
の hooks
パラメータに渡します。
TensorFlow 2: Model.fit のカスタム Keras コールバックを作成する
TensorFlow 2 では、組み込みの Keras Model.fit
(または Model.evaluate
)をトレーニング/評価に使用する場合、カスタム tf.keras.callbacks.Callback
を構成し、Model.fit
(または Model.evaluate
)の callbacks
パラメータに渡します。(詳細については、独自のコールバックの作成ガイドを参照してください)。
以下の例では、さまざまな指標をログに記録するカスタム tf.keras.callbacks.Callback
を記述します。これは 1 秒あたりのサンプルを測定します。これは、前の SessionRunHook
のサンプルの指標と同様になるはずです。
次のステップ
コールバックの詳細については、次を参照してください。
API ドキュメント:
tf.keras.callbacks.Callback
ガイド: コールバックを記述する
ガイド: 組み込みメソッドを使用したトレーニングと評価(コールバックの使用セクション)
次の移行関連のリソースも参照してください。
早期停止移行ガイド:
tf.keras.callbacks.EarlyStopping
は組み込みの早期停止コールバックですTensorBoard 移行ガイド: TensorBoard により、指標の追跡と表示が可能になります