Descripción general de las conversiones de modelos

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.

Flujo de trabajo de conversión de TFLite

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:

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:

  1. Las marcas de compatibilidad te permiten especificar si la conversión debería permitir operadores personalizados.
  2. 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.
  3. 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.

Próximos pasos