Los modelos de aprendizaje automático (AA) que usas con LiteRT se compilan y entrenan originalmente con las herramientas y bibliotecas principales de TensorFlow. Una vez que hayas creado un modelo con TensorFlow Core, puedes convertirlo a un formato de modelo de AA más pequeño y eficiente llamado modelo LiteRT. En esta sección, se proporciona orientación para convertir tus modelos de TensorFlow al formato de modelo de LiteRT.
Flujo de trabajo de conversión
La conversión de modelos de TensorFlow al formato de LiteRT puede seguir varios caminos según el contenido de tu modelo de AA. Como primer paso de ese proceso, debes evaluar tu modelo para determinar si se puede convertir directamente. Esta evaluación determina si los entornos de ejecución estándar de LiteRT admiten el contenido del modelo según las operaciones de TensorFlow que usa. Si tu modelo usa operaciones fuera del conjunto admitido, puedes refactorizarlo o usar técnicas de conversión avanzadas.
En el siguiente diagrama, se muestran los pasos generales para convertir un modelo.

Figura 1: Flujo de trabajo de conversión de LiteRT.
En las siguientes secciones, se describe el proceso de evaluación y conversión de modelos para usarlos con LiteRT.
Formatos de modelos de entrada
Puedes usar el conversor con los siguientes formatos de modelos de entrada:
- SavedModel (recomendado): Es un modelo de TensorFlow guardado como un conjunto de archivos en el disco.
- Modelo de Keras: Es un modelo creado con la API de Keras de alto nivel.
- Formato H5 de Keras: Una alternativa liviana al formato SavedModel compatible con la API de Keras.
- Modelos compilados a partir de funciones concretas: Es un modelo creado con la API de TensorFlow de bajo nivel.
Puedes guardar los modelos de funciones concretas y de Keras como un SavedModel y realizar la conversión con la ruta recomendada.
Si tienes un modelo de Jax, puedes usar la API de TFLiteConverter.experimental_from_jax para convertirlo al formato de LiteRT. Ten en cuenta que esta API está sujeta a cambios mientras se encuentra en modo experimental.
Evaluación de conversiones
Evaluar tu modelo es un paso importante antes de intentar convertirlo. Cuando realices la evaluación, querrás determinar si el contenido de tu modelo es compatible con el formato de LiteRT. También debes determinar si tu modelo es adecuado para su uso en dispositivos móviles y perimetrales en términos del tamaño de los datos que utiliza, sus requisitos de procesamiento de hardware y su tamaño y complejidad generales.
En muchos modelos, el convertidor debería funcionar de inmediato. Sin embargo, la biblioteca de operadores integrados de LiteRT admite un subconjunto de operadores principales de TensorFlow, lo que significa que algunos modelos pueden requerir pasos adicionales antes de convertirse a LiteRT. Además, algunas operaciones que admite LiteRT tienen requisitos de uso restringido por motivos de rendimiento. Consulta la guía de compatibilidad de operadores para determinar si tu modelo necesita refactorización para la conversión.
Conversión de modelos
El conversor de LiteRT toma un modelo de TensorFlow y genera un modelo de LiteRT (un formato FlatBuffer optimizado que se puede identificar con la extensión de archivo .tflite). Puedes cargar un SavedModel o convertir directamente un modelo que crees en el código.
El conversor toma 3 marcas (u opciones) principales que personalizan la conversión para tu modelo:
- Las marcas de compatibilidad te permiten especificar si la conversión debe permitir operadores personalizados.
- Las marcas de optimización te permiten especificar el tipo de optimización que se aplicará durante la conversión. La técnica de optimización más utilizada es la 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 de la plataforma cuando se implementan modelos en dispositivos.
Puedes convertir tu modelo con la API de Python o la herramienta de línea de comandos. Consulta la guía Convierte el modelo de TF para obtener instrucciones paso a paso sobre cómo ejecutar el convertidor en tu modelo.
Por lo general, convertirías tu modelo para el entorno de ejecución estándar de LiteRT o el entorno de ejecución de los Servicios de Google Play para LiteRT (beta). Algunos casos de uso avanzados requieren la personalización del entorno de ejecución del modelo, lo que implica pasos adicionales en el proceso de conversión. Para obtener más orientación, consulta la sección entorno de ejecución avanzado de la descripción general de Android.
Conversión avanzada
Si encuentras errores mientras ejecutas el convertidor en tu modelo, es muy probable que tengas un problema de compatibilidad del operador. TensorFlow Lite no admite todas las operaciones de TensorFlow. Puedes solucionar estos problemas refactorizando tu modelo o usando opciones de conversión avanzadas que te permitan crear un modelo con formato LiteRT modificado 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 las consideraciones de compatibilidad de los modelos de TensorFlow y LiteRT.
- En los temas de la descripción general de la compatibilidad del modelo, se abarcan técnicas avanzadas para refactorizar tu modelo, como la guía Select operators.
- Para obtener una lista completa de las operaciones y limitaciones, consulta la página de operaciones de LiteRT.
Próximos pasos
- Consulta la guía para convertir modelos de TF y comenzar rápidamente a convertir tu modelo.
- Consulta la descripción general de la optimización para obtener orientación sobre cómo optimizar tu modelo convertido con técnicas como la cuantificación posterior al entrenamiento.
- Consulta la descripción general sobre cómo agregar metadatos para obtener información sobre cómo agregar metadatos a tus modelos. Los metadatos proporcionan a otros usos una descripción de tu modelo, así como información que pueden aprovechar los generadores de código.