Os modelos de machine learning (ML) usados com o LiteRT são originalmente criados e treinados usando bibliotecas e ferramentas principais do TensorFlow. Depois de criar um modelo com o núcleo do TensorFlow, você pode convertê-lo em um formato de modelo de ML menor e mais eficiente chamado modelo LiteRT. Esta seção fornece orientações para converter seus modelos do TensorFlow para o formato de modelo LiteRT.
Fluxo de trabalho de conversão
A conversão de modelos do TensorFlow para o formato LiteRT pode seguir alguns caminhos, dependendo do conteúdo do modelo de ML. Como primeira etapa desse processo, avalie seu modelo para determinar se ele pode ser convertido diretamente. Essa avaliação determina se o conteúdo do modelo é compatível com os ambientes de execução padrão do LiteRT com base nas operações do TensorFlow que ele usa. Se o modelo usar operações fora do conjunto compatível, você poderá refatorar o modelo ou usar técnicas avançadas de conversão.
O diagrama abaixo mostra as etapas gerais para converter um modelo.

Figura 1. Fluxo de trabalho de conversão do LiteRT.
As seções a seguir descrevem o processo de avaliação e conversão de modelos para uso com o LiteRT.
Formatos de modelos de entrada
É possível usar o conversor com os seguintes formatos de modelo de entrada:
- SavedModel (recomendado): um modelo do TensorFlow salvo como um conjunto de arquivos no disco.
- Modelo do Keras: um modelo criado usando a API Keras de alto nível.
- Formato Keras H5: uma alternativa leve ao formato SavedModel compatível com a API Keras.
- Modelos criados com funções concretas: um modelo criado usando a API de baixo nível do TensorFlow.
É possível salvar os modelos de função concreta e do Keras como um SavedModel e converter usando o caminho recomendado.
Se você tiver um modelo do Jax, use a API TFLiteConverter.experimental_from_jax
para convertê-lo ao formato LiteRT. Essa API está sujeita a mudanças enquanto estiver no modo experimental.
Avaliação de conversão
Avaliar o modelo é uma etapa importante antes de tentar convertê-lo. Ao avaliar, você precisa determinar se o conteúdo do modelo é compatível com o formato LiteRT. Também é preciso determinar se o modelo é adequado para uso em dispositivos móveis e de borda em termos de tamanho dos dados usados, requisitos de processamento de hardware e tamanho e complexidade gerais do modelo.
Para muitos modelos, o conversor funciona sem precisar de ajustes. No entanto, a biblioteca de operadores integrados do LiteRT é compatível com um subconjunto de operadores principais do TensorFlow. Isso significa que alguns modelos podem precisar de etapas adicionais antes da conversão para o LiteRT. Além disso, algumas operações compatíveis com a LiteRT têm requisitos de uso restrito por motivos de performance. Consulte o guia de compatibilidade de operadores para determinar se o modelo precisa ser refatorado para conversão.
Conversão de modelos
O conversor do LiteRT usa um modelo do TensorFlow e gera um modelo do LiteRT (um formato FlatBuffer otimizado identificado pela extensão de arquivo .tflite). Você pode carregar um SavedModel ou converter diretamente um modelo criado em código.
O conversor usa três flags (ou opções) principais que personalizam a conversão para seu modelo:
- Com as flags de compatibilidade, é possível especificar se a conversão deve permitir operadores personalizados.
- Com as flags de otimização, é possível especificar o tipo de otimização a ser aplicada durante a conversão. A técnica de otimização mais usada é a quantização pós-treinamento.
- Com as flags de metadados, é possível adicionar metadados ao modelo convertido, o que facilita a criação de um código de wrapper específico da plataforma ao implantar modelos em dispositivos.
É possível converter o modelo usando a API Python ou a ferramenta de linha de comando. Consulte o guia Converter modelo do TF para instruções detalhadas sobre como executar o conversor no seu modelo.
Normalmente, você converteria seu modelo para o ambiente de execução padrão do LiteRT ou o ambiente de execução dos Serviços do Google Play para o LiteRT (Beta). Alguns casos de uso avançados exigem a personalização do ambiente de execução do modelo, o que requer etapas adicionais no processo de conversão. Consulte a seção ambiente de execução avançado da visão geral do Android para mais orientações.
Conversão avançada
Se você encontrar erros ao executar o conversor no seu modelo, é provável que haja um problema de compatibilidade do operador. Nem todas as operações do TensorFlow são compatíveis com o TensorFlow Lite. Para contornar esses problemas, refatore o modelo ou use opções avançadas de conversão que permitem criar um modelo de formato LiteRT modificado e um ambiente de execução personalizado para ele.
- Consulte a Visão geral da compatibilidade de modelos para mais informações sobre considerações de compatibilidade de modelos do TensorFlow e do LiteRT.
- Os tópicos em "Visão geral da compatibilidade de modelos" abordam técnicas avançadas para refatorar seu modelo, como o guia Selecionar operadores.
- Para conferir a lista completa de operações e limitações, acesse a página de operações do LiteRT.
Próximas etapas
- Consulte o guia converter modelos do TF para começar rapidamente a converter seu modelo.
- Consulte a visão geral da otimização para saber como otimizar seu modelo convertido usando técnicas como quantização pós-treinamento.
- Consulte a visão geral sobre como adicionar metadados para saber como fazer isso aos seus modelos. Os metadados fornecem outros usos, uma descrição do seu modelo e informações que podem ser usadas por geradores de código.