主要内容

武器Mali GPU的深度学习预测

此示例显示了如何使用cnncodegen.用于生成代码的图像分类应用程序,该应用程序在ARM®MaliGPU上使用深度学习。该示例使用MobileNet-V2.DAG网络执行图像分类。生成的代码利用了用于计算机视觉和机器学习的ARM计算库。

先决条件

  • ARM Mali GPU基于硬件。例如,Hikey960是包含Mali GPU的目标平台之一。

  • ARM计算图书馆上的目标ARM硬件为Mali GPU构建。

  • 在目标ARM硬件上的开源计算机视觉库(OpenCV v2.4.9)。

  • 编译器和库的环境变量。确保这一点ARM_COMPUTE.ld_library_path.在目标平台上设置变量。有关编译器和库支持的版本的信息,请参见万博1manbetx第三方硬件(GPU编码器)。设置环境变量,请参阅设置先决条件产品s manbetx 845(GPU编码器)

获得佩带的Dagnetwork.

加载净化MobileNet-V2.网络可用MobileNet-V2网络的深度学习工具箱模型

net = mobilenetv2;

该网络包含155层,包括卷积,批量归一化,Softmax和分类输出层。当analyzeNetwork ()功能显示网络架构的交互式图和包含有关网络层的信息的表。

分析(网);

生成代码

对于ARM目标的深度学习,您可以在主机开发计算机上生成代码。要构建和运行可执行程序,将生成的代码移动到ARM目标平台。目标平台必须有ARM Mali GPU。例如,HiKey960是您可以在其上执行本例中生成的代码的目标平台之一。

打电话给cnncodegen.功能,指定目标库为ARM-Compute-Mali

cnncodegen(网,'targetlib''ARM-Compute-Mali');

将生成的文件复制到目标

通过使用首选的SCP(安全复制协议)或安全shell文件传输协议(SSH)客户端,将生成的Codegen文件夹和其他所需文件从主机开发计算机移动到目标平台。

例如,在Linux®平台上,将文件传输到Hikey960,使用SCP命令格式:

SCP (sourcefile) [username]@[targetname]:~/');

系统('sshpass -p password scp main_mobilenet_arm_generic.cpp username @ targetname:〜/');系统('sshpass -p password SCP peppers_mobilenet.png username@targetname:~/');系统('sshpass -p password scp makefile_mobilenet_arm_generic.mk username @ targetname:〜/');系统('sshpass -p password scp synswords.txt用户名@ targetname:〜/');系统('sshpass -p password scp -r codegen username @ targetname:〜/');

在Windows®平台上,您可以使用pscp具有腻子安装的工具。例如:

系统('pscp -pw password-r codegen用户名@ targetname:/ home / username');

PSCP实用程序必须在您的路径上或当前文件夹中。

构建可执行文件

要在目标平台上构建库,请使用生成的makefilecnnbuild_rtw.mk.

例如,要在HiKey960上构建库:

系统('sshpass -p password ssh用户名@ targetname“make -c / home / username / codegen -f cnnbuild_rtw.mk”');

在Windows平台上,您可以使用腻子命令用-SSH.登录并运行make命令的参数。例如:

系统('Putty -ssh用户名@ tartentName -pw密码');

要在目标平台上构建和运行可执行文件,请使用格式的命令:make -c / home / $(用户名)./execfile -f makefile_mobilenet_arm_generic.mk.

例如,在HiKey960上:

使- c/home/usrnameARM_MOBILENET.- fmakefile_mobilenet_arm_generic.mk.

在指定输入图像文件的ARM平台上运行可执行文件。

./mobilenet_exe peppers_mobilenet.png.

对输入图像文件的前5个预测是:

版权所有2019 The MathWorks, Inc.