目标代码生成深度学习网络手臂马里gpu
与GPU编码器™,你可以生成预测的优化代码的各种训练的深度学习网络深度学习工具箱™。生成的代码实现了深卷积神经网络(CNN)通过使用体系结构中,层,和参数中指定的输入SeriesNetwork
(深度学习工具箱)或DAGNetwork
(深度学习工具箱)对象。代码生成器利用的手臂®计算库计算机视觉和机器学习。对手臂马里GPU执行深度学习目标,你在开发计算机主机生成代码。然后,构建和运行可执行程序生成的代码移动到目标平台。例如,HiKey960的目标平台是一个可以执行生成的代码。
需求
深度学习工具。
深度学习工具箱模型MobileNet-v2网络支持包。金宝app
为深度学习GPU编码器接口库金宝app支持包。安装包的支持,选择从MATLA金宝appB支持包®附加组件菜单。
手臂计算库计算机视觉和机器学习必须安装在目标硬件。信息的支持版本的编译器和库,明白了金宝app安装必备产品下载188bet金宝搏。
环境变量的编译器和库。有关更多信息,请参见环境变量。
负载Pretrained网络
加载pretrained MobileNet-v2网络。你可以选择加载不同pretrained网络图像分类。如果您没有所需的支持包安装,软件提供了一个下载链接。金宝app
网= mobilenetv2;
的对象
净
包含了DAGNetwork
对象。使用analyzeNetwork
(深度学习工具箱)函数显示一个交互式可视化的网络架构,来检测网络中的错误和问题,并显示详细信息网络层。层信息包括层激活的大小和可学的参数,可学的参数的总数,复发性层的状态参数的大小。analyzeNetwork(净);
你要分类的图像必须有相同的大小作为输入网络的大小。GoogLeNet的大小
imageInputLayer
(深度学习工具箱)是224 - 224 - 3。的类
输出的属性classificationLayer
(深度学习工具箱)包含类的名称由网络学习。10个随机类名的共有1000人。一会= net.Layers . class(结束);numClasses =元素个数(类名);disp(类名(randperm (numClasses 10)))
旋塞养蜂场给皂器伶猴车车轮猴枪口木耳七叶树巨石
有关更多信息,请参见深度学习层的列表(深度学习工具箱)。
代码生成通过使用cnncodegen
与臂计算库生成代码,使用targetlib
选择的cnncodegen
命令。的cnncodegen
命令生成c++代码SeriesNetwork
或DAGNetwork
网络对象。
调用
cnncodegen
与“targetlib”
指定为“arm-compute-mali”
。例如:网= googlenet;cnncodegen(净,“targetlib”,“arm-compute-mali”,“batchsize”1);
为
“arm-compute-mali”
的价值,batchsize
必须1
。的
“targetparams”
名称-值对参数使您能够指定部门的特有参数计算库不适用当针对手臂马里gpu。的
cnncodegen
命令生成的代码,一个makefile,cnnbuild_rtw.mk
和其他支持文件构建生成的金宝app代码在目标硬件。该命令将所有生成的文件codegen
文件夹中。c++编写一个主函数,调用
预测
。例如主文件接口生成的代码,看一看深度学习预测手臂马里GPU将生成的
codegen
文件夹和其他文件从主机开发计算机的ARM硬件通过使用您的首选安全文件副本(SCP)和Secure Shell (SSH)客户机。在目标系统上构建可执行程序。
生成的代码
DAG网络生成c++类(CnnMain
103层类的)包含一个数组。代码生成器减少层数是通过层融合优化卷积和批处理标准化层。类声明的一个片段cnn_exec.hpp
文件显示。
的
设置()
类的方法设置处理,为每一层的网络对象分配内存。的
预测()
方法调用预测网络中为每个103层。的
cnn_exec.cpp
文件包含定义对象的函数CnnMain
类。
二进制文件导出为层参数完全连接和卷积等在网络层。例如,文件cnn_CnnMain_Conv * _w
和cnn_CnnMain_Conv * _b
参数对应的重量和偏见卷积
在网络层。代码生成器这些二进制文件的地方codegen
文件夹中。代码生成器建立库文件cnnbuild
并将所有生成的文件codegen
文件夹中。
限制
不支持代码生成的手臂马里GPU的二维卷积层分组金宝app
NumGroups
属性设置为“channel-wise”
或一个值大于2。