En un principio, los modelos de aprendizaje autom�tico (AA) que usas con LiteRT se compil� y entren� con las bibliotecas y herramientas principales de TensorFlow. Una vez que hayas creado un modelo con TensorFlow Core, puedes convertirlo a un modelo de AA eficiente llamado modelo LiteRT. En esta secci�n, se proporciona orientaci�n para convertir tus modelos de TensorFlow al formato LiteRT.
Flujo de trabajo de conversiones
Para convertir los modelos de TensorFlow al formato LiteRT, puedes seguir varios pasos seg�n el contenido de tu modelo de AA. El primer paso de ese proceso debes evaluar tu modelo para determinar si se puede convertir directamente. Esta evaluaci�n determina si el contenido del modelo es compatible con entornos de ejecuci�n est�ndar LiteRT basados en las operaciones de TensorFlow que usa. Si tu modelo usa operaciones fuera del conjunto admitido, tienes la opci�n de refactorizar tu modelo o usar t�cnicas de conversi�n avanzadas.
En el siguiente diagrama, se muestran los pasos de alto nivel para convertir un modelo.
Figura�1: Flujo de trabajo de conversiones de LiteRT.
En las siguientes secciones, se describe el proceso de evaluaci�n y conversi�n de modelos para usar con LiteRT.
Formatos de modelo de entrada
Puedes usar el conversor con los siguientes formatos de modelo de entrada:
- SavedModel (recomendado): Es un modelo de TensorFlow guardado como un conjunto de archivos en el disco.
- Modelo de Keras: Un modelo creado con la API de Keras de alto nivel.
- Formato Keras H5: Una alternativa ligera al formato de modelo guardado compatible con la API de Keras.
- Modelos compilados a partir de funciones concretas: Modelo creado con la API de TensorFlow de bajo nivel.
Puedes guardar los modelos de funci�n concreta y Keras como un modelo guardado. y convertir usando la ruta recomendada.
Si tienes un modelo Jax, puedes usar TFLiteConverter.experimental_from_jax
.
para convertirlo al formato LiteRT. Ten en cuenta que esta API est� sujeta
para cambiar en el modo experimental.
Evaluaci�n de conversiones
Evaluar el modelo es un paso importante antes de intentar convertirlo. Al evaluar, deseas determinar si los contenidos de tu modelo son compatibles con el Formato LiteRT. Tambi�n debes determinar si tu modelo es una buena opci�n en dispositivos m�viles y perimetrales, seg�n el tama�o de los datos que usa el modelo los requisitos de procesamiento de hardware y el tama�o general del modelo y complejidad.
En muchos modelos, el conversor deber�a funcionar de inmediato. Sin embargo, La biblioteca de operador LiteRT admite un subconjunto de Operadores principales de TensorFlow, lo que significa que algunos modelos pueden necesitar recursos pasos antes de convertirlo a LiteRT. Adem�s, algunas operaciones que son compatibles con LiteRT tienen de uso restringido por motivos de rendimiento. Consulta la gu�a de compatibilidad con operadores para determinar si es necesario refactorizar tu modelo para la conversi�n.
Conversi�n de modelos
El conversor LiteRT toma un modelo de TensorFlow y genera un
LiteRT (una base de datos
FlatBuffer identificado por el
.tflite
). Puedes cargar
un modelo guardado o convertir directamente un modelo creado en el c�digo.
El que genera el conversor usa 3 opciones principales (o marcas) que personalizan la conversi�n. para tu modelo:
- Las marcas de compatibilidad te permiten especificar si la conversi�n deber�a permitir operadores personalizados.
- Las marcas de optimizaci�n le permiten especificar el tipo de optimizaci�n que se aplicar� durante la conversi�n. La t�cnica de optimizaci�n m�s usada cuantizaci�n posterior al entrenamiento.
- Las marcas de metadatos te permiten agregar metadatos al modelo convertido lo que facilita la creaci�n de c�digo del wrapper espec�fico para cada plataforma cuando se implementa modelos en dispositivos.
Puedes convertir tu modelo con la API de Python o la herramienta L�nea de comandos. Consulta la Gu�a para convertir modelos de TF una gu�a paso a paso instrucciones para ejecutar el conversor en tu modelo.
Por lo general, los convertir�as al modelo LiteRT est�ndar. entorno de ejecuci�n o Entorno de ejecuci�n de los Servicios de Google Play para LiteRT (beta). Algunos casos de uso avanzados requieren personalizaci�n del entorno de ejecuci�n del modelo, que requieren pasos adicionales en en el proceso de conversi�n. Consulta la secci�n Entorno de ejecuci�n avanzado de Android para obtener m�s orientaci�n.
Conversi�n avanzada
Si encuentras errores mientras ejecutas el conversor en tu modelo, es probable que tengas y el problema de compatibilidad del operador. No todas las operaciones de TensorFlow compatibles con TensorFlow Lite. Puedes solucionar estos problemas refactorizando tu modelo o usando opciones avanzadas de conversi�n que permiten crear un LiteRT modificado de Terraform y un entorno de ejecuci�n personalizado para ese modelo.
- Consulta la Descripci�n general de la compatibilidad de modelos. para obtener m�s informaci�n sobre la compatibilidad de los modelos de TensorFlow y LiteRT y consideraciones clave.
- Los temas de la Descripci�n general de la compatibilidad de modelos abarcan t�cnicas avanzadas para lo siguiente: refactorizar tu modelo, como los operadores de selecci�n .
- Para ver la lista completa de operaciones y limitaciones, consulta P�gina de operaciones de LiteRT.
Pr�ximos pasos
- Consulta la gu�a sobre c�mo convertir modelos de TF para comenzar r�pidamente. convertir tu modelo.
- Consulta la descripci�n general de la optimizaci�n para orientaci�n sobre c�mo optimizar tu modelo convertido con t�cnicas como la cuantizaci�n posterior al entrenamiento.
- Consulta la descripci�n general sobre c�mo agregar metadatos para aprender a agregar metadatos a tus modelos. Los metadatos tambi�n proporcionan una descripci�n de tu modelo para otros usos como informaci�n que pueden aprovechar los generadores de c�digos.