Есть много практиков машинного обучения, которые не имеют опыта работы со встроенной платформой. С другой стороны, разработчики встраиваемых систем также могут быть незнакомы с алгоритмами машинного обучения. Но зачем вам доводить ML до микроконтроллера типа Arduino Nano Clock 64 MHz, Flash 1 MB, RAM 256 KB.
Почему мы должны запускать ML на микроконтроллерах?
Выполняя вывод машинного обучения на микроконтроллерах, разработчики могут добавлять ИИ к широкому спектру аппаратных устройств, не полагаясь на сетевое подключение, которое часто связано с ограничениями пропускной способности и мощности и приводит к высокой задержке. Запуск логических выводов на устройстве также может помочь сохранить конфиденциальность, поскольку никакие данные не должны покидать устройство.
Вот некоторые из практических причин:
- Доступность. Пользователи хотят, чтобы смарт-устройства быстро реагировали на местные условия. Кроме того, следует учитывать все рыночные сценарии, такие как размер, доступность подключения к Интернету и многое другое.
- Стоимость. Устройство должно быть в рамках минимального бюджета и соответствовать всем требованиям.
- Эффективность – время автономной работы, функциональные возможности, дальность действия, надежность и, самое главное, размер устройства. Если вы бежите за этим, Arduino Nano прикроет это для вас.
- Конфиденциальность — Arduino заботится о ваших данных и принимает меры предосторожности, чтобы ваши данные были в надежных руках.
TensorFlow Lite Micro теперь можно использовать с Arduino Nano 33 BLE Sense. Это было долгожданное объявление для всех любителей микроконтроллеров.
Он не требует поддержки операционной системы, каких-либо стандартных библиотек C или C++ или динамического выделения памяти. Основная среда выполнения умещается в 16 КБ на Arm Cortex M3, а с достаточным количеством операторов для запуска модели обнаружения речевых ключевых слов занимает в общей сложности 22 КБ.
Примеры логического вывода для TensorFlow Lite для микроконтроллеров теперь упакованы и доступны через диспетчер библиотек Arduino. Теперь мы можем легко запустить их на Arduino в несколько кликов. В этом разделе мы покажем вам, как их запускать. Вот примеры:
- micro_speech — распознавание речи с помощью встроенного микрофона
- magic_wand — распознавание жестов с помощью встроенного IMU
- person_detection — обнаружение человека с помощью внешней камеры ArduCam
Для получения дополнительной информации о примерах вы можете взглянуть на источник в репозитории TensorFlow.
TensorFlow Lite для микроконтроллеров разработан с учетом конкретных ограничений разработки микроконтроллеров. Если вы работаете с более мощными устройствами (например, со встроенным устройством Linux, таким как Raspberry Pi), стандартная платформа TensorFlow Lite может быть проще для интеграции и более полезна.
TensorFlow Lite для микроконтроллеров — это экспериментальный порт TensorFlow Lite, предназначенный для запуска моделей машинного обучения на микроконтроллерах и других устройствах с объемом памяти всего в килобайтах. Так,
Следует учитывать следующие ограничения:
- Доступна поддержка ограниченного подмножества операций TensorFlow (по сравнению со стандартным фреймворком).
- Поддержка ограниченного набора устройств (все платы Arduino также не поддерживаются до настоящего времени)
- Низкоуровневый C++ API, требующий ручного управления памятью (если вы разработчик Python, это может оказаться самой сложной задачей)
Сделать TensorFlow Lite для микроконтроллеров доступным в среде Arduino — это большое дело, и, поскольку доступность большего количества предварительно обученных моделей будет огромным изменением в доступности машинного обучения на развивающемся рынке периферийных вычислений. Попробую запустить некоторые модели на Arduino и поделюсь опытом.
Расскажите мне о своем опыте, если вы уже работали с этими инструментами.
Примечание от AI In Plain English
Мы всегда заинтересованы в помощи в продвижении качественного контента. Если у вас есть статья, которую вы хотели бы отправить в какое-либо из наших изданий, отправьте нам электронное письмо по адресу [email protected], указав свое имя пользователя на Medium, и мы добавим вас в качестве автора.