LiteRT para microcontroladores

LiteRT para microcontroladores se diseñó para ejecutar modelos de aprendizaje automático en microcontroladores y otros dispositivos con solo unos pocos kilobytes de memoria. El del entorno de ejecución principal cabe en 16 KB en un ARM Cortex M3 y puede ejecutar muchas e implementar modelos automáticamente. No requiere compatibilidad con el sistema operativo, tipos C o C++ estándar bibliotecas o asignación de memoria dinámica.

Por qué son importantes los microcontroladores

Por lo general, los microcontroladores son dispositivos de procesamiento pequeños y de baja potencia incorporadas en hardware que requieren procesamiento básico. Si llevamos el aprendizaje a microcontroladores muy pequeños, podemos potenciar la inteligencia de miles de millones de dispositivos que usamos en la vida, como los electrodomésticos y la Internet de Usa diferentes dispositivos sin depender de hardware costoso ni de una conexión a Internet confiable de red, que a menudo está sujeto a restricciones de ancho de banda y energía, y genera una latencia alta. Esto también puede ayudar a preservar la privacidad, ya que no hay datos sale del dispositivo. Imagina electrodomésticos inteligentes que puedan adaptarse a tu día a día con sensores industriales inteligentes y rutinarios que comprenden la diferencia problemas y el funcionamiento normal, y juguetes mágicos que pueden ayudar a los niños a aprender de manera divertida. de formas encantadoras.

Plataformas compatibles

LiteRT para microcontroladores está escrito en C++ 17 y requiere una arquitectura plataforma. Se probó ampliamente con muchos procesadores basados en Arm Cortex-M Series y se trasladó a otras arquitecturas, como ESP32 El está disponible como una biblioteca de Arduino. También puede generar proyectos para de desarrollo de software, como Mbed. Es de código abierto y se puede incluir en cualquier proyecto de C++ 17.

Se admiten las siguientes placas de desarrollo:

Explora los ejemplos

Cada aplicación de ejemplo está en GitHub y tiene un archivo README.md que explica cómo se puede implementar en sus y plataformas de Google Cloud. Algunos ejemplos también tienen tutoriales de extremo a extremo con un plataforma como se indica a continuación:

Flujo de trabajo

Los siguientes pasos son necesarios para implementar y ejecutar un modelo de TensorFlow en una microcontrolador:

  1. Entrena un modelo:
  2. Ejecuta la inferencia en el dispositivo con el proceso y la biblioteca de C++. los resultados.

Limitaciones

LiteRT para microcontroladores se diseñó para cumplir con las restricciones específicas de y el desarrollo de microcontroladores. Si trabajas en dispositivos más potentes (por ejemplo, ejemplo, un dispositivo Linux incorporado como Raspberry Pi), el estándar Es posible que el framework LiteRT sea más fácil de integrar.

Debes tener en cuenta las siguientes limitaciones:

  • Compatibilidad con un subconjunto limitado de Operaciones de TensorFlow
  • Compatibilidad con un conjunto limitado de dispositivos
  • API de C++ de bajo nivel que requiere la administración manual de la memoria
  • No se admite el entrenamiento en el dispositivo

Próximos pasos