Главное меню

Разработка и запуск нейронной сети на одноплатном компьютере на базе архитектуры RISC-Vс использованием библиотеки OpenCV PDF Печать E-mail
Автор: Кузьмин Р.С.,Шагалова П.А.   
07.12.2024 23:45

РАЗРАБОТКА И ЗАПУСК НЕЙРОННОЙ СЕТИ НА ОДНОПЛАТНОМ КОМПЬЮТЕРЕ НА БАЗЕ АРХИТЕКТУРЫ RISC-V
С ИСПОЛЬЗОВАНИЕМ БИБЛИОТЕКИ
OPENCV

 

Кузьмин Р.С., студент

Шагалова П.А., к.т.н., доцент
НГТУ им. Р.Е.Алексеева, г. Нижний Новгород, Россия

 

Аннотация. В рамках данной работы исследована возможность реализации и запуска нейросетевого решения на одноплатных компьютерах на базе архитектуры RISC-V. Для реализации нейронной сети, использован фреймворк PyTorch, запуск выполнен на одноплатных компьютерах MangoPi и LicheePi. Для запуска нейросетевых моделей в формате ONNX на целевой процессорной архитектуре использованы средства модуля DNNбиблиотеки OpenCV.

Ключевые слова: искусственная нейронная сеть, компьютерное зрение, процессорная архитектура RISC-V, библиотека OpenCV.

 

Мобильные и встраиваемые системы являются неотъемлемой частью современного мира, поэтому разработка программного обеспечения для  микроконтроллеров и микропроцессоров была и остается актуальной. Среди  процессорных архитектур, используемых при разработке  встраиваемых систем, следует особо отметить RISC-V [3]. Данная архитектура обладает рядом преимуществ: она является открытой, дает возможность использовать и создавать расширения и позволяет адаптировать процессоры под различные требования.При разработке программных решений одним из наиболее востребованных инструментов являются искусственные нейронные сети[1]. Процесс обучения нейронных сетей является ресурсоемким и невозможен на маломощных устройствах, поэтому при необходимости реализации интеллектуальных функций на микрокомпьютерах обучение выполняется на сервере, а затем обученная модель переносится и запускается на целевой архитектуре.Исследованию возможности запуска нейронных сетей на одноплатных компьютерах на базе архитектуры RISC-V посвящена данная статья.


В процессе выполнения работы была обучена нейронная сеть для классификации изображений на два класса, с использованием фреймворка PyTorch, апробированы несколько нейросетевых архитектур, включая многослойный персептрон и сверточные нейронные сети (CNN). Для обучения использовалась кросс-энтропия[2]в качестве функции потерь и оптимизатор Adam [2] с настройкой скорости обучения (learningrate) на уровне 0.001. Также применялись различные преобразования для предварительной обработки входных изображений, такие как изменение размера, нормализация и аугментация данных [4]. После завершения тренировки модели, она была экспортирована в формат ONNX(Open Neural Network Exchange), что  обеспечило совместимость и позволило запускать модель на различных платформах и процессорах, включая более лёгкие и специализированные решения. Для переноса и запуска обученной сети на архитектуру RISC-Vиспользован функционал модуля DNN (Deep Neural Networks) библиотеки алгоритмов компьютерного зрения OpenCV [5]. Загрузка модели в формате ONNX с использованием средств библиотеки OpenCV представляет собой ключевой шаг в процессе развертывания нейронных сетей на архитектуре RISC-V. Процесс загрузки модели был выполнен с использованием функции cv2.dnn.readNetFromONNX, которая позволила интегрировать обученную нейросеть в рабочее окружение.


Сборка кода библиотеки OpenCV и программного решения, которое загружает обученную модель из файла и инициирует её выполнение, проводилась на персональном компьютере с применением кросс-компилятора RISC-V GNU Compiler Toolchain [6].


Для переноса файлов с основной машины на плату было настроено удалённое подключение к плате с использованием протокола SSH.


В результате выполненной работы на платах MangoPi и LicheePi была успешно обучена и запущена нейронная сеть, при этом обучение производилось с использованием фреймворка PyTorch, конвертация и запуск на целевой архитектуре̶ с  использованием возможностей библиотеки OpenCV и кросс-компилятора RISC-V GNU Compiler Toolchain. Выполненная работа расширяет потенциальные сферы применения технологии компьютерного зрения на устройствах, основанных на архитектуре RISC-V.Данная архитектура известна своей открытостью и гибкостью, что делает её привлекательной для отечественных производителей, стремящихся к созданию кастомизированных и эффективных решений независимых от иностранного программного обеспечения и технологий.

 

Литература

1.                Аггарвал, Ч. Нейронные сети и глубокое обучение. СПб.: Диалектика, 2020. 752 с.

2.                Клетте Р. Компьютерное зрение. Теория и алгоритмы. М.: ДМК Пресс, 2019. 506 с.

3.                Харрис, Сара Л. Харрис Дэвид. Цифровая схемотехника и архитектура компьютера: RISC-V. ДМС Пресс, 2021. 810 с.

4.                Чжен Э., Казари А. Машинное обучение: Конструирование признаков. Принципы и техники для аналитиков. М.: Бомбора, 2019. 240 с.

5.                OpenCV [Электронный ресурс] Режим доступа: https://opencv.org/(дата обращения: 25.11.2024)

6.                RISC-V GNU CompilerToolchain [Электронный ресурс] Режим доступа: https://github.com/riscv/riscv-gnu-toolchain (дата обращения: 25.11.2024)


 
Яндекс.Метрика