Path: blob/master/site/pt-br/guide/migrate/sessionrunhook_callback.ipynb
38400 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.CallbackGuia: 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
Ver em TensorFlow.org
Executar no Google Colab
Ver fonte no GitHub
Baixar notebook