Path: blob/master/site/pt-br/guide/migrate/migrating_estimator.ipynb
39061 views
Copyright 2021 The TensorFlow Authors.
Como migrar das APIs Estimator para Keras
Este guia demonstra como migrar das APIs tf.estimator.Estimator do TensorFlow 1 para as APIs tf.keras do TensorFlow 2. Primeiro, você configurará e executará um modelo básico para treinamento e avaliação com tf.estimator.Estimator. Em seguida, você executará as etapas equivalentes no TensorFlow 2 com as APIs tf.keras. Você também aprenderá como personalizar a etapa de treinamento criando uma subclasse de tf.keras.Model e usando tf.GradientTape.
No TensorFlow 1, as APIs
tf.estimator.Estimatorde alto nível permitem que você treine e avalie um modelo, além de realizar inferências e salvar seu modelo (para servir).No TensorFlow 2, use as APIs Keras para executar as tarefas mencionadas acima, como construção de modelo, aplicação de gradiente, treinamento, avaliação e previsão.
(Para migrar workflows de salvamento de modelo/checkpoint para o TensorFlow 2, confira os guias de migração SavedModel e Checkpoint.)
Configuração
Comece com imports e um dataset simples:
TensorFlow 1: treine e avalie com tf.estimator.Estimator
Este exemplo mostra como realizar treinamento e avaliação com tf.estimator.Estimator no TensorFlow 1.
Comece definindo algumas funções: uma função de entrada para os dados de treinamento, uma função de entrada de avaliação para os dados de avaliação e uma função de modelo que informa ao Estimator como a operação de treinamento é definida com as características e rótulos:
Instancie seu Estimator e treine o modelo:
Avalie o programa com o dataset de avaliação:
TensorFlow 2: treine e avalie com os métodos Keras integrados
Este exemplo demonstra como realizar treinamento e avaliação com Keras Model.fit e Model.evaluate no TensorFlow 2. (Saiba mais no guia Treinamento e avaliação com métodos integrados).
Comece preparando o pipeline do dataset com as APIs
tf.data.Dataset.Defina um modelo Keras Sequential simples com uma camada linear (
tf.keras.layers.Dense).Crie uma instância de um otimizador Adagrad (
tf.keras.optimizers.Adagrad).Configure o modelo para treinamento passando a variável
optimizere a perda do erro quadrático médio ("mse") paraModel.compile.
Com isto, você está pronto para treinar o modelo chamando Model.fit:
Finalmente, avalie o modelo com Model.evaluate:
TensorFlow 2: treine e avalie com uma etapa de treinamento personalizada e métodos Keras integrados
No TensorFlow 2, você também pode escrever sua própria função de passo de treinamento personalizada com tf.GradientTape para executar passos para frente e para trás, enquanto aproveita o suporte de treinamento integrado, como tf.keras.callbacks.Callback e tf.distribute.Strategy. (Saiba mais em Personalizando o que acontece no Model.fit e Escrevendo loops de treinamento personalizados do zero.)
Neste exemplo, comece criando um tf.keras.Model personalizado criando uma subclasse de tf.keras.Sequential que substitui Model.train_step. (Saiba mais sobre subclasses tf.keras.Model). Dentro dessa classe, defina uma função train_step personalizada que, para cada lote de dados, execute um passo para frente e um passo para trás durante uma etapa de treinamento.
Em seguida, como antes:
Prepare o pipeline do dataset com
tf.data.Dataset.Defina um modelo simples com uma camada
tf.keras.layers.Dense.Instancie o Adagrad (
tf.keras.optimizers.Adagrad)Configure o modelo para treinamento com
Model.compile, enquanto usa o erro quadrático médio ("mse") como função de perda.
Chame Model.fit para treinar o modelo:
E, finalmente, avalie o programa com Model.evaluate:
Próximos passos
Recursos adicionais do Keras que você pode achar úteis:
Os guias abaixo podem ajudar na migração de workflows de estratégias de distribuição de APIs tf.estimator:
Ver em TensorFlow.org
Executar no Google Colab
Ver fonte no GitHub
Baixar notebook