Guía de TensorFlow Lite

TensorFlow Lite es un conjunto de herramientas para ayudar a los desarrolladores a ejecutar modelos de TensorFlow en dispositivos incorporados, móviles o de IoT. Permite la inferencia de aprendizaje automático en dispositivos con una latencia baja y un tamaño de objeto binario pequeño.

TensorFlow Lite consta de dos componentes principales:

  • El intérprete de TensorFlow Lite ejecuta modelos especialmente optimizados en varios tipos de hardware diferentes, entre los que se incluyen teléfonos celulares, dispositivos Linux incorporados y microcontroladores.
  • El conversor de TensorFlow Lite convierte los modelos de TensorFlow en un formato eficiente para que los use el intérprete y además, puede implementar optimizaciones para mejorar el tamaño y el rendimiento de los objetos binarios.

Aprendizaje automático en el perímetro

TensorFlow Lite se diseñó para facilitar el aprendizaje automático en dispositivos que están "en el perímetro" de la red, y así, no tener que de enviar o recibir datos mediante un servidor. Para los desarrolladores, el uso del aprendizaje automático en dispositivos puede mejorar los siguientes aspectos:

  • Latencia: no hay ida y vuelta con un servidor.
  • Privacidad: no es necesario que los datos salgan del dispositivo.
  • Conectividad: no se requiere una conexión a Internet.
  • Consumo de energía: las conexiones de red requieren mucha energía.

TensorFlow Lite funciona en una gran variedad de dispositivos, desde microcontroladores pequeños hasta teléfonos celulares potentes.

Cómo comenzar

Para comenzar a trabajar con TensorFlow Lite en dispositivos móviles, visita Cómo comenzar. Si quieres implementar modelos de TensorFlow Lite en microcontroladores, visita la sección sobre microcontroladores.

Funciones clave

  • El intérprete se configuró para AA en dispositivos, y es compatible con un conjunto de operadores principales que se optimizaron para aplicaciones en dispositivos, y tiene un tamaño de objeto binario pequeño.
  • Compatibilidad con diversas plataformas, lo que incluye dispositivos iOS y Android, Linux incorporado y microcontroladores. De esta forma, se aprovechan las API de la plataforma para una inferencia acelerada.
  • API para varios lenguajes, entre los que se incluyen Java, Swift, Objective-C, C++ y Python.
  • Alto rendimiento, con aceleración de hardware en dispositivos compatibles, kernels optimizados para dispositivos y activaciones y sesgos previamente fusionados.
  • Herramientas de optimización de modelos, entre las que se incluye la cuantización, que pueden reducir el tamaño y aumentar el rendimiento de los modelos sin sacrificar la exactitud.
  • Formato de modelo eficiente, con un FlatBuffer optimizado para tamaño pequeño y portabilidad.
  • Modelos previamente entrenados para tareas comunes de aprendizaje automático que puedes personalizar para tu aplicación.
  • Ejemplos y tutoriales que te muestran cómo implementar modelos de aprendizaje automático en plataformas compatibles.

Flujo de trabajo del desarrollo

El flujo de trabajo para usar TensorFlow Lite implica los siguientes pasos:

  1. Elige un modelo

    Usa tu propio modelo de TensorFlow, encuentra un modelo en línea o elige uno de nuestros modelos previamente entrenados para agregarlo o volver a entrenarlo.

  2. Convierte el modelo

    Si usas un modelo personalizado, usa el conversor de TensorFlow Lite y algunas líneas de Python para convertirlo al formato de TensorFlow Lite.

  3. Impleméntalo en tu dispositivo

    Ejecuta el modelo en un dispositivo con el intérprete de TensorFlow Lite, usando las distintas API en varios lenguajes.

  4. Optimiza tu modelo

    Usa nuestro Kit de herramientas para la optimización de modelos para reducir el tamaño de tu modelo y aumentar su eficiencia con un impacto mínimo en la exactitud.

Para obtener más información sobre cómo usar TensorFlow Lite en tu proyecto, consulta Cómo comenzar.

Limitaciones técnicas

Se espera que TensorFlow Lite incluya inferencia de alto rendimiento en dispositivos para cualquier modelo de TensorFlow. Sin embargo, actualmente, el intérprete de TensorFlow Lite es compatible con un subconjunto limitado de operadores de TensorFlow que se optimizaron para usarse en dispositivos. Esto significa que algunos modelos requieren pasos adicionales para trabajar con TensorFlow Lite.

Para saber qué operadores están disponibles, consulta lacompatibilidad con operadores.

Si tu modelo usa operadores que aún no son compatibles con el intérprete de TensorFlow Lite, puedes usar TensorFlow Select para incluir operaciones de TensorFlow en tu compilación de TensorFlow Lite. Sin embargo, esto aumentará el tamaño de los objetos binarios.

Actualmente, TensorFlow Lite no es compatible con el entrenamiento en dispositivos. Esta funcionalidad se encuentra en nuestra Hoja de ruta, junto con otras mejoras planificadas.

Próximos pasos

¿Quieres seguir aprendiendo sobre TensorFlow Lite? Prueba con estos pasos: