Запуск TensorFlow Lite Micro на Arduino


Мощности контроллера Arduino Nano 33 BLE Sense со встроенным в BLE-модуль NINA B306 микроконтроллером Nordic nRF 52840 с ядром ARM Cortex-M4 (64 MHz, 1MB Flash, 256 KB of RAM) — хватает для запуска на нём TensorFlow Lite Micro.
Об этом подробно рассказано в блоге TensorFlow — How-to Get Started with Machine Learning on Arduino.

Теперь, для работы с нейронными сетями достаточно установить Arduino IDE и через Arduino Library Manager загрузить библиотеку Arduino_TensorFlowLite.
В составе библиотеки уже идут примеры:
micro_speech — распознавание речи с помощью встроенного микрофона,
magic_wand — распознавание жестов с помощью встроенного IMU,
person_detection — обнаружение человека с помощью внешней камеры ArduCam.

Что самое важное — вся обработка сигнала происходит на самом контроллере и хотя распознавание речи не будет демонстрировать качество на уровне современных голосовых ассистентов, но может осуществить распознавание базовых команд вроде: «Yes» или «No».

Статья How-to Get Started with Machine Learning on Arduino — подробно рассказывает о процессе сбора обучающих данных, тренировки сети с использованием Google Colab и последующей выгрузки весов натренированной сети в виде заголовочного .h-файла.

далее: AIfES — библиотека машинного обучения для Arduino

Ссылки
How-to Get Started with Machine Learning on Arduino
TensorFlow Lite for Microcontrollers
github — TensorFlow Lite for Microcontrollers
Tiny ML on Arduino — arduino_tinyml_workshop.ipynb
Google Colab

По теме
STM32Cube.AI — пакет расширения для STM32CubeMX для встраивания нейронных сетей в микроконтроллеры STM32
CMSIS-NN — библиотека для работы с нейронными сетями для микроконтроллеров ARM Cortex-M
uTensor — AI на микроконтроллерах
Глубокие нейронные сети как следующий этап развития программного обеспечения
Будущее глубокого обучения

Нейронная сеть
Нейронная сеть — введение
Принцип обучения многослойной нейронной сети с помощью алгоритма обратного распространения
Пример работы самоорганизующейся инкрементной нейронной сети SOINN


Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение