Path: blob/master/site/pt-br/guide/migrate/evaluator.ipynb
25118 views
Copyright 2021 The TensorFlow Authors.
Como migrar avaliações
A avaliação é uma parte crítica dos modelos de medição e benchmarking.
Este guia demonstra como migrar tarefas do avaliador (evaluator) do TensorFlow 1 para o TensorFlow 2. No Tensorflow 1, essa funcionalidade é implementada por tf.estimator.train_and_evaluate
, quando a API está sendo executada de forma distribuída. No Tensorflow 2, você pode usar o tf.keras.utils.SidecarEvaluator
integrado ou um loop de avaliação personalizado na tarefa do avaliador.
Existem alternativas simples de avaliação serial tanto no TensorFlow 1 (tf.estimator.Estimator.evaluate
) como no TensorFlow 2 (Model.fit(..., validation_data=(...))
ou Model.evaluate
). A tarefa do avaliador é preferível quando você deseja que seus workers não fiquem alternando entre treinamento e avaliação, e a avaliação integrada no Model.fit
é preferível quando você deseja que sua avaliação seja feita de forma distribuída.
Configuração
TensorFlow 1: avaliação usando tf.estimator.train_and_evaluate
No TensorFlow 1, você pode configurar um tf.estimator
para avaliar o estimador usando tf.estimator.train_and_evaluate
.
Neste exemplo, comece definindo o tf.estimator.Estimator
e definindo as especificações de treinamento e avaliação:
Em seguida, treine e avalie o modelo. A avaliação é feita de forma síncrona entre treinamentos porque é limitada como uma execução local neste notebook e alterna entre treinamento e avaliação. No entanto, se o estimador for usado de forma distribuída, o avaliador será executado como uma tarefa de avaliador dedicada. Para mais informações, consulte o guia de migração em treinamento distribuído.
TensorFlow 2: avaliando um modelo Keras
No TensorFlow 2, se você usar a API Keras Model.fit
para treinamento, poderá avaliar o modelo com tf.keras.utils.SidecarEvaluator
. Você também poderá visualizar as métricas de avaliação no TensorBoard, que não são mostradas neste guia.
Para ajudar a demonstrar isto, vamos começar definindo e treinando o modelo:
Em seguida, avalie o modelo usando tf.keras.utils.SidecarEvaluator
. No treinamento real, é recomendável usar um job separado para conduzir a avaliação e liberar recursos do worker para o treinamento.
Próximos passos
Para saber mais sobre a avaliação secundária (sidecar), considere ler os documentos da API
tf.keras.utils.SidecarEvaluator
.Para considerar a alternância entre treinamento e avaliação no Keras, leia sobre outros métodos integrados.