TensorFlow Lite

TensorFlow Lite es un conjunto de herramientas que ayuda a los desarrolladores a ejecutar sus modelos en dispositivos incorporados, móviles o de IoT, y les permite implementar el aprendizaje automático integrado en el dispositivo.

Características clave

  • Optimizado para el aprendizaje automático integrado en el dispositivo, ya que aborda 5 limitaciones clave: latencia (no hay ida y vuelta con un servidor), privacidad (ningún dato personal sale del dispositivo), conectividad (no es necesaria una conexión a Internet), tamaño (tamaño reducido del modelo y de los objetos binarios) y consumo de energía (inferencia de alta eficiencia sin necesidad de conexiones de red)
  • Compatibilidad con múltiples plataformas, lo que incluye dispositivos iOS y Android, Linux incorporado ymicrocontroladores
  • Compatibilidad con diversos lenguajes, entre los que se incluyen Java, Swift, Objective-C, C++ y Python
  • Alto rendimiento, con aceleración de hardware y optimización de modelos
  • Ejemplos de extremo a extremo de tareas comunes de aprendizaje automático, como clasificación de imágenes, detección de objetos, estimación de poses, respuestas a preguntas, clasificación de texto, etc. en múltiples plataformas

Flujo de trabajo del desarrollo

En la siguiente guía, se muestra cada paso del flujo de trabajo y se incluyen vínculos a instrucciones adicionales:

1. Genera un modelo de TensorFlow Lite

Un modelo de TensorFlow Lite se representa en un formato especial, eficiente y portátil conocido como FlatBuffers (identificado con la extensión de archivo .tflite). Tiene varias ventajas en comparación con el formato del modelo de búfer de protocolo de TensorFlow, como un tamaño reducido (huella de código pequeña) y una inferencia más rápida (se accede a los datos directamente sin un paso adicional de análisis o descompresión). Estas características permiten que TensorFlow Lite se ejecute de forma eficiente en dispositivos con recursos de procesamiento y memoria limitados.

De manera opcional, un modelo de TensorFlow Lite puede incluir metadatos que cuenten con una descripción del modelo legible para las personas y datos legibles para máquinas, a fin de generar automáticamente canalizaciones de procesamiento previo y posterior durante la inferencia integrada en el dispositivo. Consulta Agrega metadatos para obtener más detalles.

Puedes generar un modelo de TensorFlow Lite de las siguientes formas:

  • Usa un modelo de TensorFlow Lite existente: Consulta Ejemplos de TensorFlow Lite para elegir un modelo existente. Los modelos pueden o no contener metadatos.

  • Crea un modelo de TensorFlow Lite: Usa TensorFlow Lite Model Maker para crear un modelo con tu propio conjunto de datos personalizado. De forma predeterminada, todos los modelos contienen metadatos.

  • Convierte un modelo de TensorFlow en un modelo de TensorFlow Lite: Usa el Conversor de TensorFlow Lite para convertir un modelo de TensorFlow en un modelo de TensorFlow Lite. Durante la conversión, puedes aplicar optimizaciones como la cuantización para reducir el tamaño y la latencia del modelo con una pérdida de exactitud mínima o nula. De forma predeterminada, ningún modelo contiene metadatos.

2. Ejecuta la inferencia

El término inferencia se refiere al proceso de ejecutar un modelo de TensorFlow Lite de forma integrada en el dispositivo para realizar predicciones basadas en datos de entrada. Puedes ejecutar la inferencia de las siguientes maneras en función del tipo de modelo:

En dispositivos iOS y Android, puedes mejorar el rendimiento mediante la aceleración de hardware. En ambas plataformas puedes usar un Delegado de GPU, en Android puedes usar el Delegado de NNAPI (para dispositivos más nuevos) o el Delegado de Hexagon (en dispositivos más antiguos) y en iOS puedes usar el Delegado de Core ML. Para sumar compatibilidad con nuevos aceleradores de hardware, puedes definir tu propio delegado.

Cómo comenzar

Puedes consultar las siguientes guías en función del dispositivo de destino:

Limitaciones técnicas

  • No todos los modelos de TensorFlow se pueden convertir en modelos de TensorFlow Lite; consulta la compatibilidad de operadores.

  • El entrenamiento integrado en el dispositivo no es compatible; sin embargo, se encuentra en nuestra Hoja de ruta.