Path: blob/master/site/ja/guide/migrate/sessionrunhook_callback.ipynb
38317 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 により、指標の追跡と表示が可能になります
TensorFlow.org で表示
Google Colab で実行
GitHub でソースを表示
ノートブックをダウンロード