Visão geral do jardim modelo

O TensorFlow Model Garden oferece implementações de muitos modelos de machine learning (ML) de última geração para visão e processamento de linguagem natural (NLP), bem como ferramentas de fluxo de trabalho para permitir que você configure e execute rapidamente esses modelos em conjuntos de dados padrão. Esteja você procurando comparar o desempenho de um modelo conhecido, verificar os resultados de pesquisas lançadas recentemente ou estender modelos existentes, o Model Garden pode ajudá-lo a impulsionar suas pesquisas e aplicativos de ML.

O Model Garden inclui os seguintes recursos para desenvolvedores de machine learning:

Esses recursos foram criados para serem usados ​​com a estrutura do TensorFlow Core e integrados aos seus projetos de desenvolvimento existentes do TensorFlow. Os recursos do Model Garden também são fornecidos sob uma licença de código aberto , para que você possa estender e distribuir livremente os modelos e ferramentas.

Modelos de ML práticos são computacionalmente intensivos para treinar e executar e podem exigir aceleradores como Unidades de Processamento Gráfico (GPUs) e Unidades de Processamento de Tensor (TPUs). A maioria dos modelos no Model Garden foram treinados em grandes conjuntos de dados usando TPUs. No entanto, você também pode treinar e executar esses modelos em processadores GPU e CPU.

Modelos de jardim

Os modelos de aprendizado de máquina no Model Garden incluem código completo para que você possa testá-los, treiná-los ou treiná-los novamente para pesquisa e experimentação. O Model Garden inclui duas categorias principais de modelos: modelos oficiais e modelos de pesquisa .

Modelos oficiais

O repositório Official Models é uma coleção de modelos de última geração, com foco em visão e processamento de linguagem natural (NLP). Esses modelos são implementados usando as APIs de alto nível atuais do TensorFlow 2.x. As bibliotecas de modelos neste repositório são otimizadas para desempenho rápido e mantidas ativamente pelos engenheiros do Google. Os modelos oficiais incluem metadados adicionais que você pode usar para configurar experimentos rapidamente usando a estrutura de experimentos de treinamento do Model Garden.

Modelos de pesquisa

O repositório Research Models é uma coleção de modelos publicados como recursos de código para artigos de pesquisa. Esses modelos são implementados usando o TensorFlow 1.xe 2.x. As bibliotecas de modelo na pasta de pesquisa são suportadas pelos proprietários de código e pela comunidade de pesquisa.

Estrutura do experimento de treinamento

A estrutura de experimentos de treinamento do Model Garden permite que você monte e execute rapidamente experimentos de treinamento usando seus modelos oficiais e conjuntos de dados padrão. A estrutura de treinamento usa metadados adicionais incluídos nos modelos oficiais do Model Garden para permitir que você configure modelos rapidamente usando um modelo de programação declarativo. Você pode definir um experimento de treinamento usando comandos Python na biblioteca do TensorFlow Model ou configurar o treinamento usando um arquivo de configuração YAML, como este exemplo .

A estrutura de treinamento usa tfm.core.base_trainer.ExperimentConfig como o objeto de configuração, que contém os seguintes objetos de configuração de nível superior:

  • runtime : define o hardware de processamento, a estratégia de distribuição e outras otimizações de desempenho
  • task : Define o modelo, dados de treinamento, perdas e inicialização
  • trainer : define o otimizador, loops de treinamento, loops de avaliação, resumos e pontos de verificação

Para obter um exemplo completo usando a estrutura do experimento de treinamento do Model Garden, consulte o tutorial Classificação de imagem com o Model Garden . Para obter informações sobre a estrutura do experimento de treinamento, confira a documentação da API TensorFlow Models . Se você estiver procurando uma solução para gerenciar loops de treinamento para seus experimentos de treinamento de modelo, confira Orbit .

Operações especializadas de ML

O Model Garden contém muitas operações de visão e NLP projetadas especificamente para executar modelos de última geração que são executados com eficiência em GPUs e TPUs. Revise os documentos da API da biblioteca TensorFlow Models Vision para obter uma lista de operações de visão especializadas. Revise os documentos da API da biblioteca de NLP de modelos do TensorFlow para obter uma lista de operações de NLP . Essas bibliotecas também incluem funções utilitárias adicionais usadas para processamento de dados de visão e NLP, treinamento e execução de modelo.

Loops de treinamento com Orbit

A ferramenta Orbit é uma biblioteca leve e flexível projetada para facilitar a gravação de loops de treinamento personalizados no TensorFlow 2.xe funciona bem com a estrutura de experimentos de treinamento Model Garden . O Orbit lida com tarefas comuns de treinamento de modelo, como salvar pontos de verificação, executar avaliações de modelo e configurar a redação de resumos. Ele se integra perfeitamente ao tf.distribute e suporta execução em diferentes tipos de dispositivos, incluindo hardware de CPU, GPU e TPU. A ferramenta Orbit também é de código aberto , para que você possa estender e se adaptar às suas necessidades de treinamento de modelo.

Você geralmente treina modelos do TensorFlow escrevendo um loop de treinamento personalizado ou usando a função Keras Model.fit de alto nível. Para modelos simples, você pode definir e gerenciar um loop de treinamento personalizado com métodos TensorFlow de baixo nível, como tf.GradientTape ou tf.function . Como alternativa, você pode usar o Keras Model.fit de alto nível.

No entanto, se seu modelo for complexo e seu loop de treinamento exigir controle ou personalização mais flexível, você deverá usar o Orbit. Você pode definir a maior parte do seu loop de treinamento pela classe orbit.AbstractTrainer ou orbit.StandardTrainer . Saiba mais sobre a ferramenta Orbit na documentação da API Orbit .