Criar modelos do TensorFlow Lite

Nesta página, fornecemos orientações para criar seus modelos do TensorFlow com a intenção de fazer a conversão para o formato do modelo do TensorFlow Lite. Os modelos de machine learning (ML) usados com o TensorFlow Lite são originalmente criados e treinados usando as principais bibliotecas e ferramentas do TensorFlow. Depois de criar um modelo com o TensorFlow Core, é possível convertê-lo em um formato de modelo de ML menor e mais eficiente, chamado de modelo do TensorFlow Lite.

Se você já tiver um modelo para converter, consulte a página Visão geral da conversão de modelos para conferir orientações sobre como fazer isso.

Como criar um modelo

Se você estiver criando um modelo personalizado para seu caso de uso específico, comece desenvolvendo e treinando um modelo do TensorFlow ou estendendo um existente.

Restrições do design do modelo

Antes de iniciar o processo de desenvolvimento de modelos, esteja ciente das restrições para modelos do TensorFlow Lite e crie seu modelo pensando nas seguintes restrições:

  • Capacidades de computação limitadas: em comparação com servidores totalmente equipados com várias CPUs, alta capacidade de memória e processadores especializados, como GPUs e TPUs, os dispositivos móveis e de borda são muito mais limitados. Embora aumentem o poder de computação e a compatibilidade com hardware especializado, os modelos e dados que você pode processar efetivamente com eles ainda são relativamente limitados.
  • Tamanho dos modelos: a complexidade geral de um modelo, incluindo a lógica de pré-processamento de dados e o número de camadas, aumenta o tamanho dele na memória. Um modelo grande pode ter uma execução inaceitavelmente lenta ou simplesmente não caber na memória disponível de um dispositivo móvel ou de borda.
  • Tamanho dos dados: o tamanho dos dados de entrada que podem ser efetivamente processados com um modelo de machine learning é limitado em um dispositivo móvel ou de borda. Modelos que usam grandes bibliotecas de dados, como bibliotecas de linguagens, de imagens ou de videoclipes, podem não caber nesses dispositivos e exigir armazenamento e soluções de acesso fora do dispositivo.
  • Operações do TensorFlow compatíveis: os ambientes de execução do TensorFlow Lite são compatíveis com um subconjunto de operações do modelo de machine learning em comparação com os modelos normais do TensorFlow. Ao desenvolver um modelo a ser usado com o TensorFlow Lite, você precisa acompanhar a compatibilidade do modelo em relação aos recursos dos ambientes de execução do TensorFlow Lite.

Para mais informações sobre como criar modelos eficazes, compatíveis e de alto desempenho para o TensorFlow Lite, consulte as Práticas recomendadas de desempenho.

Desenvolvimento do modelo

Para criar um modelo do TensorFlow Lite, primeiro você precisa criar um modelo usando as bibliotecas principais do TensorFlow. As principais bibliotecas do TensorFlow são as de nível inferior que fornecem APIs para criar, treinar e implantar modelos de ML.

Fluxo de trabalho de build do TFLite

O TensorFlow oferece dois caminhos para fazer isso. É possível desenvolver seu próprio código de modelo personalizado ou começar com uma implementação de modelo disponível no Model Garden do TensorFlow.

Model Garden

O TensorFlow Model Garden fornece implementações de muitos modelos de machine learning (ML) de última geração para processamento de visão e de linguagem natural (PLN). Você também encontrará ferramentas de fluxo de trabalho para configurar e executar rapidamente esses modelos em conjuntos de dados padrão. Os modelos de machine learning no Model Garden incluem código completo para que você possa testá-los, treiná-los ou retreiná-los usando seus próprios conjuntos de dados.

Seja para comparar o desempenho de um modelo conhecido, verificar os resultados de pesquisas lançadas recentemente ou ampliar os modelos atuais, o Model Garden pode ajudar você a alcançar suas metas de ML.

Modelos personalizados

Se seu caso de uso não estiver entre aqueles suportados pelos modelos no Grupo de modelos, é possível usar uma biblioteca de alto nível, como Keras, para desenvolver seu código de treinamento personalizado. Para aprender os princípios básicos do TensorFlow, consulte o guia do TensorFlow. Para começar com exemplos, consulte a visão geral dos tutoriais do TensorFlow, que contêm ponteiros para tutoriais de nível especializado.

Avaliação do modelo

Depois de desenvolver o modelo, avalie o desempenho dele e teste em dispositivos dos usuários finais. O TensorFlow oferece algumas maneiras de fazer isso.

  • O TensorBoard é uma ferramenta que fornece as medições e visualizações necessárias durante o fluxo de trabalho de machine learning. Com ele, é possível rastrear métricas de experimentos, como perda e acurácia, visualizar o gráfico do modelo, projetar embeddings para um espaço dimensional menor e muito mais.
  • As ferramentas de comparação estão disponíveis para cada plataforma compatível, como o app Android e o app iOS. Use essas ferramentas para medir e calcular estatísticas de métricas de desempenho importantes.

Otimização de modelos

Com as restrições em recursos específicos dos modelos do TensorFlow Lite, a otimização de modelos pode ajudar a garantir um bom desempenho e usar menos recursos de computação. O desempenho do modelo de machine learning geralmente é um equilíbrio entre tamanho e velocidade de inferência e acurácia. Atualmente, o TensorFlow Lite é compatível com otimização por quantização, remoção e clustering. Consulte o tópico Otimização de modelos para saber mais sobre essas técnicas. O TensorFlow também conta com um kit de ferramentas de otimização de modelos, que fornece uma API que implementa essas técnicas.

Próximas etapas