Статьи

Ускорение ML ML на Raspberry Pi с PyArmNN

обзор 

Нейронная сеть, обученная распознавать изображения, содержащие огонь или пламя, может сделать системы обнаружения пожара более надежными и экономически эффективными. В этом руководстве показано, как использовать недавно выпущенные API-интерфейсы Python для механизма вывода Arm NN, чтобы классифицировать изображения как «Огонь» по сравнению с «Не-Огонь».

Что такое Arm NN и PyArmNN? 

Arm NN — это механизм логического вывода для процессоров, графических процессоров и процессоров. Он выполняет модели ML на устройстве, чтобы делать прогнозы на основе входных данных. Arm NN обеспечивает эффективную трансляцию существующих сред нейронных сетей, таких как TensorFlow Lite, TensorFlow, ONNX и Caffe, что позволяет им работать эффективно и без изменений в процессорах Arm Cortex-A, GPU Arm Mali и NPU Arm Ethos.

PyArmNN — это недавно разработанное расширение Python для Arm NN SDK. В этом руководстве мы собираемся использовать API-интерфейсы PyArmNN для запуска модели классификации изображений для обнаружения пожара fire_detection.tflite и сравнивать производительность вывода с TensorFlow Lite на Raspberry Pi. 

Arm NN предоставляет анализатор TFLite armnnTfLiteParser, который представляет собой библиотеку для загрузки нейронных сетей, определенных файлами TensorFlow Lite FlatBuffers, во время выполнения Arm NN. Мы собираемся использовать анализатор TFLite для анализа нашей модели обнаружения пожара для классификации изображений «Пожар» и «Не огонь». 


Вам также может понравиться:
Пример Python REST API (с микросервисами) — Часть 1

Что нам нужно?

  • Малиновый пи. Я тестирую с Raspberry Pi 4 с ОС Raspbian 10. Устройство Pi питается от процессора Arm Cortex-A72, который может использовать мощность Arm NN SDK для ускоренной работы ML.
  • Прежде чем приступить к настройке проекта, вам нужно проверить и собрать Arm NN версии 19.11 или новее для вашего Raspberry Pi. Инструкции  здесь .
  • Пакет PyArmNN
  • fire_detection.tflite, сгенерированный из этого руководства и преобразованный в модель TensorFlow Lite.

Выполнить вывод ML с PyArmNN

Чтобы запустить модель ML на устройстве, наши основные шаги:

  • Импортировать модуль pyarmnn
  • Загрузить входное изображение
  • Создайте парсер и загрузите сеть
  • Выберите бэкэнды, создайте среду выполнения и оптимизируйте модель
  • Выполнить вывод
  • Интерпретировать и сообщить результат

Импорт модуля pyarmnn


питон