基于ARM Mali GPU的深度学习预测
控件的实例cnncodegen
函数为在ARM®Mali gpu上使用深度学习的图像分类应用程序生成代码。该示例使用MobileNet-v2
DAG网络进行图像分类。生成的代码利用了用于计算机视觉和机器学习的ARM Compute库。
先决条件
基于ARM Mali GPU的硬件。例如,HiKey960是包含Mali GPU的目标平台之一。
在目标ARM硬件上为Mali GPU构建的ARM计算库。
目标ARM硬件上的开源计算机视觉库(OpenCV v2.4.9)。
编译器和库的环境变量。确保
ARM_COMPUTE
和LD_LIBRARY_PATH
在目标平台上设置变量。有关编译器和库支持的版本的信息,请参见金宝app第三方硬件(GPU编码器).有关设置环境变量,请参见设置必备产品下载188bet金宝搏(GPU编码器).
获得预先训练的DAGNetwork
加载预训练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 ()
函数显示网络结构的交互式图和包含网络层信息的表。
analyzeNetwork(净);
生成代码
对于ARM目标上的深度学习,您需要在主机开发计算机上生成代码。要构建和运行可执行程序,请将生成的代码移动到ARM目标平台。目标平台必须有ARM Mali GPU。例如,HiKey960是可以在其上执行本例中生成的代码的目标平台之一。
调用cnncodegen
函数,指定目标库为arm-compute-mali
.
cnncodegen(净,“targetlib”,“arm-compute-mali”);
将生成的文件复制到目标
通过使用首选的SCP(安全复制协议)或Secure Shell文件传输协议(SSH)客户端,将生成的代码根文件夹和其他所需文件从主机开发计算机移动到目标平台。
以Linux®平台为例,使用scp命令传输文件到HiKey960,格式为:
System ('sshpass -p [password] SCP (sourcefile) [username]@[targetname]:~/');
系统('sshpass -p密码SCP main_mobilenet_arm_generic.cpp username@targetname:~/');系统('sshpass -p密码SCP peppers_mobilenet.png username@targetname:~/');系统('sshpass -p password SCP makefile_mobilenet_arm_generic. '可username@targetname: ~ /);系统('sshpass -p password scp synsetword .txt username@targetname:~/');系统('sshpass -p password SCP -r codegen username@targetname:~/');
在Windows®平台上,您可以使用pscp
安装PuTTY时附带的工具。例如:
系统('pscp -pw密码-r编码username@targetname:/home/username');
PSCP实用程序必须在您的PATH或当前文件夹中。
构建可执行
要在目标平台上构建库,请使用生成的makefilecnnbuild_rtw.mk
.
例如,要在HiKey960上构建库:
系统(sshpass -p password SSH username@targetname…“make -C /home/username/codegen -f cnnbuild_rtw.mk”);
在Windows平台上,可以使用腻子
命令ssh
参数登录并运行make命令。例如:
系统(“putty -ssh username@targetname -pw password”);
要在目标平台上构建和运行可执行文件,使用如下格式的命令:make -C /home/$(username)
和./execfile -f makefile_mobilenet_arm_generic.mk
例如,在HiKey960上:
使- c/home/usrnamearm_mobilenet- fmakefile_mobilenet_arm_generic.mk
在ARM平台上运行可执行文件,指定一个输入映像文件。
。/ mobilenet_exe peppers_mobilenet.png
输入图像文件的前五个预测是: