主要内容

编码器。手臂NEONConfig

参数来配置深度学习代码生成手臂计算库

描述

编码器。手臂NEONConfig对象包含ARM®计算库和目标的特定参数codegen用于为深度神经网络生成c++代码。

使用编码器。手臂NEONConfig对象进行代码生成时,将其赋给DeepLearningConfig传递给的代码生成配置对象的属性codegen

创建

创建一个ARM NEON配置对象编码器。DeepLearningConfig函数,目标库设置为“arm-compute”

属性

全部展开

目标硬件上使用的ARM计算库版本,指定为字符向量或字符串标量。如果你设置ArmComputeVersion到以后的版本“20.02.1”ArmComputeVersion设置为“20.02.1”

目标硬件支持的ARM体系结构,指定金宝app为字符向量或字符串标量。指定的架构必须与目标硬件上ARM计算库的架构相同。

ARMArchitecture必须为以下情况指定:

  • 您没有使用硬件支持包金宝app硬件代码生成配置对象的属性为空)。

  • 您使用硬件支持包,但只生成代码。金宝app

指定支持层中推理计算的精度。金宝app在32位浮点数中执行推理时,使用“fp32”.对于8位整数,使用“int8”.默认值为“fp32”

包含校准数据的mat文件的位置。默认值为.此选项仅适用于数据类型设置为“int8”

执行量化时,校准(深度学习工具箱)函数对网络进行练习,并收集网络的卷积层和全连接层中权重和偏差的动态范围,以及网络各层中激活的动态范围。为优化的网络生成代码,请保存校准函数指定一个mat文件,并使用此属性将该mat文件的位置指定给代码生成器。有关更多信息,请参见为深度学习网络生成int8代码

目标库的名称,指定为字符向量。

例子

全部折叠

创建一个入口点函数squeezenet它使用coder.loadDeepLearningNetwork函数加载squeezenet(深度学习工具箱)对象。

函数Out = squeezenet_predict(in)持续的mynet;如果mynet = code . loaddeeplearningnetwork (mynet)“squeezenet”“squeezenet”);结束Out = predict(mynet,in);

创建一个coder.config用于生成静态库的配置对象。

CFG = code .config(“自由”);

将目标语言设置为c++。指定只生成源代码。

cfg。TargetLang =“c++”;cfg.GenCodeOnly = true;

创建一个编码器。手臂NEONConfig深度学习配置对象。将其分配给DeepLearningConfig的属性cfg配置对象。

DLCFG =编码器。DeepLearningConfig (“arm-compute”);dlcfg。ArmArchitecture =“armv8”;dlcfg。ArmComputeVersion =“20.02.1”;cfg。DeepLearningConfig = dlcfg;

使用配置选项codegen函数指定cfg配置对象。的codegen函数必须确定MATLAB的大小、类和复杂度®函数的输入。使用arg游戏选项指定入口点函数的输入大小。

codegenarg游戏{(227227 3,“单”)}配置cfgsqueezenet_predict

codegen命令将生成的所有文件放在codegen文件夹中。该文件夹包含入口点函数的c++代码squeezenet_predict.cpp,头文件和源文件,包含卷积神经网络(CNN)的c++类定义,权重和偏差文件。

版本历史

在R2019a中引入