主要内容

cnncodegen

生成用于深度学习网络的代码手臂马里GPU

描述

cnncodegen (“targetlib”,“arm-compute-mali”)使用ARM为指定的网络对象生成c++代码®马里图形处理器计算库。

需要GPU Coder™产品和用于深度学习库的GPU编码器接口

例子

cnncodegen (,‘targetlib’,‘arm-compute-mali’,targetparams通过使用带有额外代码生成选项的Mali gpu的ARM计算库为指定的网络对象生成c++代码。

例子

全部折叠

使用cnncodegen为预先训练的网络生成c++代码,用于部署到ARM Mali图形处理器。

获取预训练的GoogLeNet模型googlenet(深度学习工具箱)函数。此函数需要深度学习工具箱™GoogLeNet网络模型.如果您没有安装此支持包,该功能提供了一个下载链接。万博1manbetx另外,看到//www.tianjin-qmedu.com/matlabcentral/fileexchange/64456-deep-learning-toolbox-model-for-googlenet-network

Net = googlenet;

使用以下命令生成代码cnncodegen“targetlib”设置为“arm-compute-mali”.默认情况下,代码生成器以版本为目标“19.05”ARM。若要针对不同版本的计算库,请使用“ArmComputeVersion”参数。

cnncodegen(净,“targetlib”“arm-compute-mali”...“targetparams”结构(“ArmComputeVersion”“19.02”));
------------------------------------------------------------------------ 编译抑制:生成代码。------------------------------------------------------------------------ ### Codegen成功生成的手臂装置

代码生成器生成. cpp的头文件“/ pwd / codegen”文件夹中。DAG网络生成为一个c++类,名为CnnMain,包含87个层类的数组。代码生成器通过对卷积层和批处理归一化层的层间融合优化来减少层数。的设置()方法为每个层对象设置句柄并分配资源。的预测()方法调用对网络中87层中的每一层的预测。的清理()方法释放为每个层对象分配的所有内存和系统资源。所有的二进制权重(cnn_ * * _w)和偏见档案(cnn_ * * _b),因为网络的卷积层存储在codegen文件夹中。

要构建库,将生成的代码移动到ARM目标平台并使用生成的makefilecnnbuild_rtw.mk

输入参数

全部折叠

预先训练的SeriesNetworkDAGNetwork对象。

请注意

cnncodegen不支持万博1manbetxdlnetwork对象。

指定为ARM计算库的特定参数1——- - - - - -1结构,该结构包含这些表中描述的字段。

描述

ArmComputeVersion

目标硬件上ARM计算库的版本“19.02”“19.05”.默认值为“19.05”.如果你设置ArmComputeVersion到以后的版本“19.05”ArmComputeVersion设置为“19.05”

兼容性的考虑

全部展开

R2021a开始警告

在R2017b中引入