Path: blob/master/site/pt-br/guide/migrate/checkpoint_saver.ipynb
39086 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, ondemonitorpode 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_onlycomoTrue.
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.ModelCheckpointTutorial: 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.CallbackGuia: 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.BackupAndRestoreparaModel.fitou APIstf.train.Checkpointetf.train.CheckpointManagerpara 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
Ver em TensorFlow.org
Executar no Google Colab
Ver fonte no GitHub
Baixar notebook