Path: blob/master/site/es-419/guide/migrate/sessionrunhook_callback.ipynb
25118 views
Copyright 2021 The TensorFlow Authors.
Migrar SessionRunHook a retrollamadas Keras
En TensorFlow 1, para personalizar el comportamiento del entrenamiento, usas tf.estimator.SessionRunHook
con tf.estimator.Estimator
. Esta guía muestra cómo migrar de SessionRunHook
a las retrollamadas personalizadas de TensorFlow 2 con la API tf.keras.callbacks.Callback
, que funciona con Model.fit
de Keras para el entrenamiento (así como Model.evaluate
y Model.predict
). Aprenderás a hacerlo implementando un SessionRunHook
y una tarea Callback
que mida los ejemplos por segundo durante el entrenamiento.
Ejemplos de retrollamadas son el guardado de puntos de verificación (tf.keras.callbacks.ModelCheckpoint
) y la escritura de sumarios TensorBoard. Las retrollamadas de Keras son objetos a los que se llama en distintos momentos del entrenamiento/evaluación/predicción en las APIs Model.fit
/Model.evaluate
/Model.predict
incorporadas de Keras. Puedes obtener más información sobre las retrollamadas en la documentación de la API tf.keras.callbacks.Callback
así como en las guías Cómo escribir tus propias retrollamadas y Entrenamiento y evaluación con los métodos incorporados (sección Usar retrollamadas).
Preparación
Empieza con imports y un conjunto de datos sencillo a modo de demostración:
TensorFlow 1: Crear un SessionRunHook personalizado con las API tf.estimator
Los siguientes ejemplos de TensorFlow 1 muestran cómo configurar un SessionRunHook
personalizado que mida los ejemplos por segundo durante el entrenamiento. Tras crear el hook (LoggerHook
), pásalo al parámetro hooks
de tf.estimator.Estimator.train
.
TensorFlow 2: Crear una retrollamada Keras personalizada para Model.fit
En TensorFlow 2, cuando usas el Keras incorporado Model.fit
(o Model.evaluate
) para entrenamiento/evaluación, puedes configurar una tf.keras.callbacks.Callback
personalizada, que luego pasas al parámetro callbacks
de Model.fit
(o Model.evaluate
). (Obtén más información en la guía Cómo escribir tus propias retrollamadas).
En el ejemplo siguiente, escribirás una tf.keras.callbacks.Callback
personalizada que registre varias métricas: medirá los ejemplos por segundo, que deberían ser comparables a las métricas del ejemplo anterior SessionRunHook
.
Siguientes pasos
Aprende más sobre las retrollamadas en:
Documentación de la API:
tf.keras.callbacks.Callback
Guía: Entrenamiento y evaluación con los métodos incorporados (la sección Usar retrollamadas)
También te pueden resultar útiles los siguientes recursos relacionados con la migración:
La Guía de migración de la parada temprana:
tf.keras.callbacks.EarlyStopping
es una retrollamada de parada temprana incorporadaLa Guía de migración a TensorBoard: TensorBoard permite el seguimiento y la visualización de métricas
La guía de migración de LoggingTensorHook y StopAtStepHook a las retrollamadas de Keras