主要内容

ARM-GPU的深度学习预测

此示例显示如何使用cnncodegen函数为在ARM®Mali GPU上使用深度学习的图像分类应用程序生成代码MobileNet-v2用DAG网络进行图像分类。生成的代码利用ARM计算库进行计算机视觉和机器学习。

先决条件

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

  • 为马里GPU构建的目标ARM硬件上的ARM计算库。

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

  • 编译器和库的环境变量。请确保ARM_计算机图书馆路径在目标平台上设置变量。有关编译器和库支持的版本的信息,请参见万博1manbetx第三方硬件. 有关设置环境变量的信息,请参见设置必备产品s manbetx 845.

提前训练

加载预训练的数据MobileNet-v2网络在MobileNet-v2网络的深度学习工具箱模型.

net=mobilenetv2
net = DAGNetwork with properties: Layers: [154×1 nnet.cnn.layer.Layer] Connections: [163×2 table] InputNames: {'input_1'} OutputNames: {'ClassificationLayer_Logits'}

该网络包含155层,包括卷积、批量标准化、softmax和分类输出层analyzeNetwork ()函数显示网络体系结构的交互式绘图和包含网络层信息的表格。

分析网络;

生成代码

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

打电话给cnncodegen函数,将目标库指定为arm计算机马里.

cnncodegen(净,“targetlib”,“arm-compute-mali”);

将生成的文件复制到目标

使用首选的SCP(安全复制协议)或Secure Shell File Transfer Protocol(SSH)客户端,将生成的codegen文件夹和其他所需文件从主机开发计算机移动到目标平台。

例如,在Linux®平台上,要将文件传输到HiKey960,请使用以下格式的scp命令:

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

系统('sshpass-p password scp main\u mobilenet\u arm\u generic.cppusername@targetname:~/'); 系统('sshpass -p password SCP peppers_mobilenet.png username@targetname:~/'); 系统('sshpass-p password scp makefile\u mobilenet\u arm\u generic.mkusername@targetname:~/'); 系统('sshpass-p password scp synsetWords.txtusername@targetname:~/'); 系统('sshpass-p password scp-r codegenusername@targetname:~/');

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

系统('pscp-pw密码-r代码生成器username@targetname:/home/username');

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

生成可执行文件

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

例如,要在HiKey960上构建库:

系统('sshpass-p密码sshusername@targetname'...“make-C/home/username/codegen-f cnnbuild_rtw.mk”);

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

系统("腻子嘘!username@targetname-pw密码');

要在目标平台上构建和运行可执行文件,请使用以下格式的命令:make-C/home/$(用户名)./execfile-f makefile\u mobilenet\u arm\u generic.mk

例如,在HiKey960上:

使- c/home/usrnamearm_mobilenet- fmakefile\u mobilenet\u arm\u generic.mk

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

./mobilenet\u exe peppers\u mobilenet.png

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

另见

功能

相关的话题