Назначение
рограммный модуль NMDL позволяет запускать предварительно обученную глубокую сверточную нейронную сеть на вычислительных модулях на базе микросхем 1879ВМ6Я (МС121.01) и К1879ВМ8Я (МС127.05, NM Card, NM Card Mini, NM Mezzo Mini) и на симуляторе.
Программный модуль состоит из 2 частей:
Одна часть работает на персональном компьютере (хост) под управлением 64- разрядных ОС Microsoft® Windows 7/10 или Linux.
Другая часть запускается и работает на процессоре вычислительного модуля.
NMDL выполняет обработку пользовательских исходных изображений в соответствии с заданной моделью нейросети.
Перед обработкой необходимо подготовить данные модели и изображений:
- Модель предварительно компилируется специальным компилятором из состава NMDL. Исходные модели могут быть представлены в формате ONNX или DarkNet.
Важно! Компилятором NMDL поддерживаются не все операции, определенные в ONNX. - Изображения предварительно обрабатываются специальным конвертером. Только подготовленные модели и изображения могут быть загружены и обработаны на вычислительных модулях.
Библиотека предоставляет программный интерфейс С/С++.
Состав ПО
ПО реализации нейронных сетей состоит из программных модулей (API), утилит и руководства.
Файлы API для разработки программ с использованием NMDL:
- nmdl.dll/nmdl.so — программный модуль для применения обученной нейронной сети.
- nmdl.lib — библиотека для раннего связывания программ с NMDL в среде MSVC++.
- nmdl.h — заголовочный файл с описанием структур и функций API.
- nmdl_compiler.dll/nmdl_compiler.so — программный модуль — компилятор моделей ONNX/DarkNet во внутреннее представление.
- nmdl_compiler.lib — библиотека для раннего связывания модуля компилятора моделей в среде MSVC++.
- nmdl_compiler.h — заголовочный файл с описанием структур и функций компилятора моделей.
- nmdl_image_converter.dll/nmdl__image_converter.so — программный модуль для подготовки обрабатываемых изображений.
- nmdl_image_converter.lib — модуль для раннего связывания модуля подготовки изображений в среде MSVC++.
- nmdl_image_converter.h — заголовочный файл с описанием структур и функций для подготовки изображений.
nmdl.dll/nmdl.so зависит от ряда программных модулей, которые входят в комплект ПО NMDL и размещаются в каталоге bin.
Заголовочные файлы и библиотеки раннего связывания размещаются в каталогах include и lib директории NMDL.
Утилиты:
- nmdl_compiler_console — утилита командной строки для компиляции моделей из форматов ONNX и DarkNet во внутренний формат для загрузки на вычислительные модули МС121.01 и МС127.05. Файл модели ONNX обычно имеет расширение .pb. Модель в формате DarkNet сохраняется в двух файлах — с расширением .cfg и расширением .weights. Подготовленная модель для платы МС121.01 имеет расширение .nm7. Модель для МС127.05 имеет расширение .nm8.
- nmdl_nmdl_image_converter_console — утилита командной строки для подготовки обрабатываемых изображений.
- nmdl_gui — оконная утилита для демонстрации функциональных возможностей NMDL.

