深度学习预测手臂马里GPU
这个例子展示了如何使用cnncodegen
函数来生成代码的图像分类应用程序,使用深度学习在手臂®马里gpu。这个例子使用了MobileNet-v2
DAG网络进行图像分类。生成的代码利用手臂的计算对计算机视觉和机器学习库。
先决条件
手臂马里GPU硬件。例如,HiKey960的目标平台包含一个马里GPU。
目标臂臂计算库马里GPU硬件建设。
开源的计算机视觉库(OpenCV v2.4.9)目标的手臂上的硬件。
环境变量的编译器和库。确保
ARM_COMPUTE
和LD_LIBRARY_PATH
变量是设置在目标平台上。信息的支持版本的编译器和库,明白了金宝app第三方硬件。设置环境变量,看到设置必备产品下载188bet金宝搏。
得到Pretrained DAGNetwork
加载pretrainedMobileNet-v2
网络中可用深度学习工具箱MobileNet-v2网络模型
。
网= mobilenetv2
网= DAGNetwork属性:层:[154×1 nnet.cnn.layer.Layer]连接:[163×2表]InputNames: {“input_1”} OutputNames: {“ClassificationLayer_Logits”}
网络包含155层包括卷积,批处理规范化,softmax,分类输出层。的analyzeNetwork ()
函数显示一个交互式的网络体系结构和一个表包含关于网络层的信息。
analyzeNetwork(净);
生成代码
对部门目标深度学习,你在开发计算机主机生成代码。构建和运行可执行程序时,将生成的代码移动到目标平台。目标平台必须有一个手臂马里GPU。例如,HiKey960是可以执行的目标平台生成的代码在这个例子。
调用cnncodegen
函数,指定目标库arm-compute-mali
。
cnncodegen(净,“targetlib”,“arm-compute-mali”);
将生成的文件复制到目标
将生成的codegen文件夹和其他所需文件从主机电脑发展目标平台使用你喜欢的SCP(安全复制协议)或Secure Shell (SSH)文件传输协议的客户。
例如,在Linux®平台,HiKey960转移文件,使用scp命令格式:
系统(“sshpass - p(密码)scp(源文件)【用户名】@ [targetname]: ~ / ');
系统(“scp main_mobilenet_arm_generic sshpass - p密码。cpp username@targetname: ~ /);系统(“scp peppers_mobilenet sshpass - p密码。png username@targetname: ~ /);系统(“scp makefile_mobilenet_arm_generic sshpass - p密码。可username@targetname: ~ /);系统(“scp synsetWords sshpass - p密码。txt username@targetname: ~ /);系统(“sshpass scp - r - p密码codegen username@targetname: ~ /”);
在Windows®平台上,您可以使用pscp
安装工具,有腻子。例如:
系统(“pscp pw password-r codegen username@targetname: / home /用户名');
PSCP实用程序必须在你的路径或在当前文件夹。
构建可执行
构建图书馆在目标平台上,使用生成的makefilecnnbuild_rtw.mk
。
例如,构建图书馆HiKey960:
系统(“ssh username@targetname sshpass - p密码”…“让- c /home/username/codegen - f cnnbuild_rtw.mk”);
在Windows平台上,您可以使用腻子
命令ssh
参数登录并运行make命令。例如:
系统(“腻子ssh username@targetname pw密码”);
构建和运行可执行文件在目标平台上,使用命令格式:使- 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
输入图像文件的五大预测: