API Estimador do TensorFlow
O que é a API Estimator do TensorFlow?
O Estimator representa um modelo completo, mas só parece intuitivo para poucos usuários. A API Estimator fornece métodos para treinar o modelo, julgar a precisão do modelo e gerar previsões. O TensorFlow oferece uma pilha de programação que consiste em várias camadas de API, como na imagem abaixo:
Existem dois tipos de Estimator: você pode escolher Estimators prontos ou escrever seus próprios Estimators personalizados. Modelos baseados em Estimators podem ser executados em hosts locais, bem como em ambientes de vários servidores distribuídos sem alterar seu modelo. Além disso, você pode executar modelos baseados em Estimators em CPUs, GPUs ou TPUs sem gravar o modelo.
Os Estimators têm quatro características principais:
- Treinamento: eles treinam um modelo em uma determinada entrada para um número fixo de etapas
- Avaliação: eles avaliam o modelo com base em um conjunto de testes.
- Previsão: os Estimators executam inferências usando o modelo treinado.
- Exporte seu modelo para disponibilização.
Além disso, o Estimator inclui comportamento padrão comum para jobs de treinamento, como salvar e restaurar pontos de verificação, criar resumos etc. Um Estimator requer que você escreva um model_fn e um input_fn que correspondam ao modelo e às partes de entrada do seu gráfico TensorFlow.
Os Estimators trazem vários benefícios:
- Os Estimators simplificam as implementações de compartilhamento entre os desenvolvedores de modelos.
- Você pode desenvolver um ótimo modelo com código intuitivo de alto nível, pois geralmente são mais fáceis de usar se você precisar criar modelos em comparação com as APIs de baixo nível do TensorFlow.
- Os próprios Estimators são construídos em tf.keras.layers, o que torna a personalização muito mais fácil.
- Os Estimators facilitam sua vida construindo o gráfico para você.
- Os Estimators fornecem um ciclo de treinamento distribuído com segurança que controla como e quando:
- construir o gráfico
- inicializar variáveis
- carregar dados
- lidar com exceções
- criar arquivos de ponto de verificação e se recuperar de falhas
- salvar resumos para o TensorBoard