主要内容

编码器。手臂NEONConfig

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

描述

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

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

创建

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

属性

全部展开

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

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

ARMArchitecture必须为以下情况指定:

  • 您没有使用硬件支持包硬件属性为空)。

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

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

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

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

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

例子

全部折叠

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

函数= squeezenet_predict(中)持续的mynet;如果isempty(mynet) mynet = code . loaddeeplearningnetwork (“squeezenet”“squeezenet”);结束=预测(mynet,);

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

cfg = coder.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

Baidu
map