Path: blob/master/site/pt-br/guide/migrate/sessionrunhook_callback.ipynb
25118 views
Copyright 2021 The TensorFlow Authors.
Como migrar callbacks SessionRunHook para Keras
No TensorFlow 1, para personalizar o comportamento do treinamento, você usa o tf.estimator.SessionRunHook
com tf.estimator.Estimator
. Este guia demonstra como migrar do SessionRunHook
para callbacks personalizados do TensorFlow 2 com a API tf.keras.callbacks.Callback
, que funciona com o Keras Model.fit
para treinamento (assim como Model.evaluate
e Model.predict
). Você aprenderá como fazer isso implementando um SessionRunHook
e uma tarefa Callback
que mede exemplos por segundo durante o treinamento.
Exemplos de callbacks são o salvamento de checkpoints (tf.keras.callbacks.ModelCheckpoint
) e a criação de resumos do TensorBoard. Os callbacks do Keras são objetos que são chamados em diferentes pontos durante o treinamento/avaliação/previsão nas APIs integradas do Keras Model.fit
/Model.evaluate
/Model.predict
. Você pode aprender mais sobre callbacks na documentação da API tf.keras.callbacks.Callback
, bem como nos guias Escrevendo seus próprios retornos de chamada e Treinamento e avaliação com os métodos integrados (na seção Usando callbacks).
Configuração
Comece com os imports e um dataset simples para fins de demonstração:
TensorFlow 1: crie um SessionRunHook personalizado com as APIs tf.estimator
Os exemplos do TensorFlow 1 a seguir mostram como configurar um SessionRunHook
personalizado que mede exemplos por segundo durante o treinamento. Após criar o hook (LoggerHook
), passe-o para o parâmetro hooks
de tf.estimator.Estimator.train
.
TensorFlow 2: crie um callback Keras personalizado para Model.fit
No TensorFlow 2, quando você usa o Keras Model.fit
integrado (ou Model.evaluate
) para treinamento/avaliação, poderá configurar um tf.keras.callbacks.Callback
personalizado, que você passa para o parâmetro callbacks
de Model.fit
(ou Model.evaluate
). (Saiba mais no guia Como escrever seus próprios callbacks.)
No exemplo abaixo, você escreverá um tf.keras.callbacks.Callback
personalizado que registra várias métricas — ele medirá exemplos por segundo, que devem ser comparáveis às métricas do exemplo anterior usando SessionRunHook
.
Próximos passos
Saiba mais sobre callbacks em:
Documentação da API:
tf.keras.callbacks.Callback
Guia: Treinamento e avaliação com os métodos integrados (na seção Usando callbacks )
Você talvez também ache úteis os seguintes recursos relacionados à migração:
O Guia de migração de paradas antecipadas :
tf.keras.callbacks.EarlyStopping
é um callback integrado para paradas antecipadas (early stopping).O Guia de migração do TensorBoard: o TensorBoard permite rastrear e exibir métricas
O Guia de migração LoggingTensorHook e StopAtStepHook para callbacks Keras