Vis�o geral da convers�o de modelo

Os modelos de machine learning (ML) usados com a LiteRT s�o modelos originais criados e treinados com as principais ferramentas e bibliotecas do TensorFlow. Depois de construir um modelo com TensorFlow Core, � poss�vel convert�-lo em um formato de modelo de ML eficiente chamado de LiteRT. Esta se��o fornece orienta��es para converter seus modelos do TensorFlow para o formato do modelo LiteRT.

Fluxo de trabalho de convers�o

A convers�o de modelos do TensorFlow para o formato LiteRT pode levar alguns caminhos dependendo do conte�do do seu modelo de ML. Como primeira etapa desse processo, avalie o modelo para determinar se ele pode ser convertido diretamente. Essa avalia��o determina se o conte�do do modelo tem suporte do ambientes de execu��o padr�o do LiteRT com base nas opera��es do TensorFlow que ele utiliza. Se o modelo usa opera��es fora do conjunto compat�vel, voc� tem a op��o de refatorar o modelo ou usar t�cnicas avan�adas de convers�o.

O diagrama abaixo mostra as etapas avan�adas da convers�o de um modelo.

Fluxo de trabalho de convers�o do TFLite

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 a LiteRT.

Formatos de modelo de entrada

� poss�vel usar o conversor com os seguintes formatos de modelo de entrada:

� poss�vel salvar o Keras e os modelos de fun��o concretos como um SavedModel e converta usando o caminho recomendado.

Se voc� tiver um modelo Jax, poder� usar o TFLiteConverter.experimental_from_jax API para convert�-lo para o formato LiteRT. Essa API est� sujeita mudar durante o modo experimental.

Avalia��o de convers�o

Avaliar seu modelo � uma etapa importante antes de tentar fazer a convers�o. Ao avaliar, voc� quer determinar se o conte�do do modelo � compat�vel com Formato LiteRT. Determine tamb�m se o modelo � adequado para uso em dispositivos m�veis e de borda em termos de tamanho dos dados que o modelo usa, os requisitos de processamento de hardware e o tamanho total e complexidade.

Para muitos modelos, o conversor precisa funcionar imediatamente. No entanto, A biblioteca de operadores integrados do LiteRT � compat�vel com um subconjunto de operadores principais do TensorFlow, o que significa que alguns modelos podem precisar etapas antes de converter para LiteRT. Al�m disso, algumas opera��es compat�veis com o LiteRT t�m requisitos de uso restrito por motivos de desempenho. Consulte a guia de compatibilidade do operador para determinar se o modelo precisa ser refatorado para a convers�o.

Convers�o de modelo

O conversor LiteRT usa um modelo do TensorFlow e gera uma O modelo LiteRT (um modelo FlatBuffer identificado pelo .tflite). � poss�vel carregar um SavedModel ou converter diretamente um modelo criado em c�digo.

O conversor usa tr�s sinaliza��es (ou op��es) principais que personalizam a convers�o para seu modelo:

  1. As sinaliza��es de compatibilidade permitem especificar se a convers�o deve permitir operadores personalizados.
  2. As sinaliza��es de otimiza��o permitem especificar o tipo de otimiza��o a ser aplicado durante a convers�o. A t�cnica de otimiza��o mais usada � quanitiza��o p�s-treinamento.
  3. As sinaliza��es de metadados permitem adicionar metadados ao modelo convertido. o que facilita a cria��o de um c�digo de wrapper espec�fico para a plataforma ao implantar modelos de ML em dispositivos.

� poss�vel converter seu modelo usando a API Python ou a ferramenta de Linha de comando. Consulte a Guia explicativo sobre como converter modelos do TF instru��es sobre como executar o conversor no seu modelo.

Normalmente, voc� converteria seu modelo para o LiteRT padr�o ambiente de execu��o ou a Ambiente de execu��o do Google Play Services para LiteRT (Beta). Alguns casos de uso avan�ados personaliza��o do ambiente de execu��o do modelo, o que requer etapas adicionais em o processo de convers�o. Consulte a se��o ambiente de execu��o avan�ado do Android para obter mais orienta��es.

Convers�o avan�ada

Se voc� encontrar erros ao executar o conversor no seu modelo, � prov�vel que voc� tenha problema de compatibilidade de operador. Nem todas as opera��es do TensorFlow s�o com suporte do TensorFlow Lite. Para contornar esses problemas, refatore o modelo ou use op��es avan�adas de convers�o que permitem criar um LiteRT modificado e um ambiente de execu��o personalizado para esse modelo.

Pr�ximas etapas