Path: blob/master/site/pt-br/guide/migrate/checkpoint_saver.ipynb
25118 views
Copyright 2021 The TensorFlow Authors.
Como migrar salvamento de checkpoints
Salvar continuamente o "melhor" modelo ou pesos/parâmetros do modelo traz muitos benefícios. Isto inclui a capacidade de rastrear o progresso do treinamento e carregar modelos salvos de diferentes estados salvos.
No TensorFlow 1, para configurar o salvamento de checkpoints durante o treinamento/validação com as APIs tf.estimator.Estimator
, especifique um agendamento em tf.estimator.RunConfig
ou use tf.estimator.CheckpointSaverHook
. Este guia demonstra como migrar deste fluxo de trabalho para as APIs TensorFlow 2 Keras.
No TensorFlow 2, você pode configurar tf.keras.callbacks.ModelCheckpoint
de várias maneiras:
Salvar a "melhor" versão de acordo com uma métrica monitorada usando o parâmetro
save_best_only=True
, ondemonitor
pode ser, por exemplo,'loss'
,'val_loss'
,'accuracy', or
'val_accuracy'`.Salvar continuamente numa certa frequência (usando o argumento
save_freq
).Salve apenas os pesos/parâmetros em vez de todo o modelo definindo
save_weights_only
comoTrue
.
Para mais detalhes, consulte os documentos da API tf.keras.callbacks.ModelCheckpoint
e a seção Salve checkpoints durante o treinamento no tutorial Como salvar e carregar modelos. Saiba mais sobre o formato Checkpoint na seção Formato Checkpoint do TF no guia Como salvar e carregar modelos Keras. Além disso, para incluir tolerância a falhas, você pode usar tf.keras.callbacks.BackupAndRestore
ou tf.train.Checkpoint
para aplicar checkpoints manualmente. Saiba mais no Guia de migração de tolerância a falhas.
Os callbacks do Keras são objetos que são chamados em diferentes pontos durante o treinamento/avaliação/previsão nas APIs integradas Keras Model.fit
/Model.evaluate
/Model.predict
. Saiba mais na seção Próximas etapas no final do guia.
Configuração
Comece com os imports e um dataset simples para fins de demonstração:
TensorFlow 1: salve checkpoints com APIs tf.estimator
Este exemplo do TensorFlow 1 mostra como configurar tf.estimator.RunConfig
para salvar checkpoints em cada passo durante o treinamento/avaliação com as APIs tf.estimator.Estimator
:
TensorFlow 2: salve checkpoints com um callback Keras para Model.fit
No TensorFlow 2, quando voce usa o Keras Model.fit
integrado (ou Model.evaluate
) para treinamento/avaliação, você pode configurar tf.keras.callbacks.ModelCheckpoint
e passá-lo para o parâmetro callbacks
de Model.fit
(ou Model.evaluate
). (Saiba mais na documentação da API e na seção Usando callbacks no guia Treinamento e avaliação com métodos integrados.)
No exemplo abaixo, você usará um callback tf.keras.callbacks.ModelCheckpoint
para armazenar checkpoints num diretório temporário:
Próximos passos
Saiba mais sobre o uso de checkpoints em:
Documentação da API:
tf.keras.callbacks.ModelCheckpoint
Tutorial: Como salvar e carregar modelos (na seção Salve checkpoints durante o treinamento)
Guia: Salve e carregue modelos Keras (na seção Formato Checkpoint do TF)
Saiba mais sobre callbacks em:
Documentação da API:
tf.keras.callbacks.Callback
Guia: Treinamento e avaliação com os métodos integrados (a seção Usando callbacks )
Você talvez também ache úteis os seguintes recursos relacionados à migração:
O Guia de migração de tolerância a falhas:
tf.keras.callbacks.BackupAndRestore
paraModel.fit
ou APIstf.train.Checkpoint
etf.train.CheckpointManager
para um loop de treinamento personalizadoO 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