Recursos para acelerar el desarrollo y la implantación del TinyML
Como la inferencia periférica ha experimentado un impulso muy grande, han aparecido varios recursos diseñados específicamente para los microcontroladores de baja potencia.
TensorFlow Lite para microcontroladores
Uno de los recursos de aprendizaje automático más consolidados es TensorFlow. Google lo desarrolló en 2015, y es una plataforma integral y de código abierto para el aprendizaje automático. Contiene un ecosistema exhaustivo y flexible de herramientas, bibliotecas y recursos de comunidad. Con TensorFlow, los desarrolladores pueden construir e implantar un amplio rango de aplicaciones de aprendizaje automático; por ejemplo, en el ámbito científico, médico y comercial.
Google presentó la biblioteca de código abierto TensorFlow Lite para microcontroladores en 2017, con el objetivo de dar soporte al creciente interés en la inferencia con microcontroladores de baja potencia y con pocos kilobytes de memoria. La biblioteca binaria de ejecución principal cabe en solo 18 kB de memoria en un ARM Cortex M3 y puede ejecutar diferentes modelos básicos de red neuronal. Además, puede funcionar en un servidor “bare metal”, ya que no depende de sistemas operativos, bibliotecas C o C++ ni de requisitos de asignación de memoria. La biblioteca se ha escrito en C++ 11 y precisa de un microcontrolador de 32 bits.
Los modelos que utiliza TensorFlow Lite para microcontroladores son representaciones (convertidas y optimizadas para microcontrolador) de los modelos disponibles en el entorno de formación TensorFlow. TensorFlow Lite para microcontroladores cuenta con un excelente soporte y se ha probado ampliamente en la serie Arm Cortex-M. Además, se ha migrado a otras arquitecturas de microcontrolador, como la serie Espressif ESP32 de Tensilica o la serie de núcleos de procesadores Synopsys ARC.
Los desarrolladores que deseen obtener una guía completa para la implantación de TensorFlow Lite para microcontroladores pueden encontrarla aquí.
Además de TensorFlow Lite para microcontroladores, otro conjunto optimizado de bibliotecas es TensorFlow Lite, que está disponible para Android, iOS y ordenadores Linux integrados y de una sola placa, como Raspberry Pi y Coral Edge TPU.