exponenta event banner

Прогноз глубокого обучения на ARM Mali GPU

В этом примере показано, как использовать cnncodegen функция создания кода для приложения классификации изображений, использующего глубокое изучение графических процессоров ARM ® Mali. В примере используется MobileNet-v2 Сеть DAG для выполнения классификации образов. Созданный код использует преимущества вычислительной библиотеки ARM для компьютерного зрения и машинного обучения.

Предпосылки

  • Аппаратное обеспечение на базе графического процессора ARM Mali. Например, HiKey960 является одной из целевых платформ, которая содержит графический процессор Мали.

  • Вычислительная библиотека ARM на целевом оборудовании ARM, построенном для графического процессора Мали.

  • Библиотека компьютерного зрения с открытым исходным кодом (OpenCV v2.4.9) на целевом оборудовании ARM.

  • Переменные среды для компиляторов и библиотек. Убедитесь, что ARM_COMPUTE и LD_LIBRARY_PATH переменные устанавливаются на целевой платформе. Сведения о поддерживаемых версиях компиляторов и библиотек см. в разделе Аппаратное обеспечение сторонних производителей. Сведения о настройке переменных среды см. в разделе Настройка необходимых продуктов.

Получение предварительно подготовленных DAGNetwork

Загрузить предварительно обученный MobileNet-v2 сеть доступна в Deep Learning Toolbox Model for MobileNet-v2 Network.

net = mobilenetv2;

Сеть содержит 155 уровней, включая свертку, пакетную нормализацию, softmax и выходные уровни классификации. analyzeNetwork() отображает интерактивный график сетевой архитектуры и таблицу, содержащую информацию о сетевых уровнях.

analyzeNetwork(net);

Создать код

Для глубокого изучения целей ARM необходимо создать код на хост-компьютере разработки. Чтобы построить и запустить исполняемую программу, переместите созданный код на целевую платформу ARM. Целевая платформа должна иметь графический процессор ARM Mali. Например, HiKey960 является одной из целевых платформ, на которой можно выполнить код, созданный в этом примере.

Позвоните в cnncodegen функция, указывающая целевую библиотеку как arm-compute-mali.

cnncodegen(net,'targetlib','arm-compute-mali');

Копирование созданных файлов в конечный объект

Переместите созданную папку кодегена и другие необходимые файлы с компьютера разработки хоста на целевую платформу с помощью предпочтительного клиента SCP (Secure Copy Protocol) или SSH (Secure Shell File Transfer Protocol).

Например, на платформе Linux ® для передачи файлов в HiKey960 используется команда scp с форматом:

system('sshpass -p [password] scp (sourcefile) [username]@[targetname]:~/');

system('sshpass -p password scp main_mobilenet_arm_generic.cpp username@targetname:~/');
system('sshpass -p password scp peppers_mobilenet.png username@targetname:~/');
system('sshpass -p password scp makefile_mobilenet_arm_generic.mk username@targetname:~/');
system('sshpass -p password scp synsetWords.txt username@targetname:~/');
system('sshpass -p password scp -r codegen username@targetname:~/');

На платформе Windows ® можно использовать pscp инструмент, поставляемый с установкой PuTTY. Например:

system('pscp -pw password-r codegen username@targetname:/home/username');

Утилиты PSCP должны находиться либо в PATH, либо в текущей папке.

Создать исполняемый файл

Чтобы построить библиотеку на целевой платформе, используйте созданный make-файл cnnbuild_rtw.mk.

Например, чтобы построить библиотеку на HiKey960, выполните следующие действия.

system('sshpass -p password ssh username@targetname "make -C /home/username/codegen -f cnnbuild_rtw.mk"');

На платформе Windows можно использовать putty команда с -ssh для входа в систему и выполнения команды make. Например:

system('putty -ssh username@targetname -pw password');

Чтобы построить и запустить исполняемый файл на целевой платформе, используйте команду с форматом: make -C /home/$(username) и ./execfile -f makefile_mobilenet_arm_generic.mk

Например, на HiKey960:

make -C /home/usrname arm_mobilenet -f makefile_mobilenet_arm_generic.mk

Запустите исполняемый файл на платформе ARM, указав входной файл изображения.

./mobilenet_exe peppers_mobilenet.png

Пять лучших прогнозов для файла входного изображения:

Авторское право 2019 The MathWorks, Inc.

См. также

Функции

Связанные темы