Path: blob/master/site/es-419/guide/migrate/sessionrunhook_callback.ipynb
38464 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.CallbackGuí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.EarlyStoppinges 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
Ver en TensorFlow.org
Ejecutar en Google Colab
Ver código fuente en GitHub
Descargar bloc de notas