前言¶
本文用于指导开发人员,如何使用SVP ATC Graph接口构建网络模型,并将其转换成图像分析引擎支持的离线模型,模型转换过程中可以实现算子调度的优化、权值数据重排、内存使用优化等,可以脱离设备完成模型的预处理。
与本文档相对应的产品版本如下。
本文档主要适用于以下工程师:
技术支持工程师
软件开发工程师
掌握以下经验和技能可以更好地理解本文档。
熟悉Linux基本命令。
对机器学习、图像分析方法有一定的了解。
在本文中可能出现下列标志,它们所代表的含义如下。
|
3.3.6 ArgmaxOperator配置接口小节,删除部分节点,新增SetArgMaxAxis、GetArgMaxAxis。 3.3.77 ArgminOperator配置接口小节,删除部分节点,新增SetArgMinAxis、GetArgMinAxis。 |
||
简介¶
功能架构¶
SVP ATC Graph功能架构如图1所示。从中可以看出,不局限于Caffe、Onnx等框架,用户可以通过开放的API接口进行构图,并编译为离线模型,用于在板端硬件加速处理器上进行离线推理。
运行流程¶
使用SVP ATC Graph进行模型转换的用户侧调用流程如图1所示。
SVP ATC Graph API接口包含两部分。
OperatorAPI:构图接口。定义了一套简洁的算子数据结构表达方式,用户可基于此方便的完成构图。
GenerateModelAPI:模型转换接口。基于构建的模型图,进行编译转换,生成om知识库文件。
详细流程说明如下。
使用OperatorAPI依次构造网络中的各个算子节点,生成一系列的operator对象。该对象包含对应算子的属性配置、连接关系、权重数据等信息,所有operator对象共同构成完整的模型图。
将所有operator对象与config信息传递给GenerateModelAPI,完成模型编译并最终生成om知识库文件。Config配置信息可以以文件的形式配置,也可以通过map映射的形式配置。具体参数配置与ATC工具一致,可以参考《ATC工具使用指南》。
使用入门¶
准备动作¶
获取SVP ATC Graph API¶
与toolkit同时安装,并跟随ATC工具一同部署,该场景下libsvp_atc_api.so部署在“$HOME/Ascend/ascend-toolkit/{software version}/atc/lib”路径下,其中software version为软件版本号。
本手册以SVP ATC Graph API独立安装为例进行说明。
设置环境变量¶
SVP ATC Graph API中包含OperatorAPI与GenerateModelAPI两部分。
GenerateModelAPI与ATC工具所依赖的第三方库环境相同,请参考《ATC工具使用指南》“设置环境变量”章节进行配置,此处不再赘述。此外,用户工程中需增加头文件svp_atc_api.h引用,以及动态链接libsvp_atc_api.so库文件。
OperatorAPI在用户使用时需引用一系列算子头文件,部署在“$HOME/Ascend/ascend-toolkit/{software version}/atc/include”路径下。同时需要动态链接libsvp_atc_api.so库文件。
构图与转换使用示例¶
构造config配置信息,可以以文件、字符串或map配置表的形式提供,用于指定模型转换过程中所需要的功能配置。以map配置表形式为例,一个简单的config信息可以构造为:
Std::map<string, string> cfgMap{ {"framework", "6"}, {"image_list", "input:./data.txt"}, {"save_original_model", "true"}, {"output", "testBaseWithCfgMap"}};
配置项中可能会引用二级配置文件,如量化校准数据image_list、分组量化参数gfpq_param_file等。
构造全部算子节点,并依次插入graph队列,完成构图过程。以构造输入层与卷积层为例。
构造输入层:
auto opPreprocess = make_unique<PreprocessOperator>(); opPreprocess->SetOpName("data_layer"); opPreprocess->SetInputNamesVec("data_layer_in"); opPreprocess->SetOutputNamesVec("data_layer_out"); opPreprocess->SetShapeParamVec({1, 3, 5, 5});
构造卷积层:
auto opConv = make_unique<ConvOperator>(); opConv->SetOpName("conv_layer"); opConv->SetInputNamesVec("data_layer_out"); // 表示与输入层连接 opConv->SetOutputNamesVec("conv_layer_out"); opConv->SetOutputChannel(16); opConv->SetKernelHeight(3); opConv->SetKernelWidth(3); opConv->SetPadLeft(1); opConv->SetPadRight(1); opConv->SetPadUp(1); opConv->SetPadDown(1); opConv->SetStrideWidth(1); opConv->SetStrideHeight(1); opConv->SetWeightSize(432); opConv->SetBiasSize(0); opConv->SetWeightDataPtr(GetWeightDataPtr()); opConv->SetBiasDataPtr(nullptr);
构造graph队列:
vector<unique_ptr<BaseOperator>> graph; graph.push_back(opPreprocess); graph.push_back(opConv);
调用转换接口生成二进制模型文件。生成过程需要依赖前期构造的配置信息与graph图信息。
GenerateModelBinaryWithCfgMap(cfgMap, graph, nullptr);成功执行命令后,在output参数指定的路径下,可查看离线模型(如:xxx.om)。当需要在内存中获取om数据与输出信息时,可以构造ModelCoreInfo对象,并将其指针作为接口第三个参数,用于获取模型om数据、om长度、输出名称与shape等信息。
OperatorAPI说明¶
概览¶
总体约束¶
在进行graph构造前,请务必查看如下约束要求。
当前版本提供的Operator算子接口涵盖支持硬件加速运算的算子和CPU算子。
构图后算子依次存放在Vector队列中,存放顺序与解析顺序一致,需要由调用者按照依赖关系保证存放顺序。
数据排列格式只支持NCHW模式。
权重类参数由ptr内存指针和size(或shape)尺寸两部分组成,接口调用者需要保证内存大小与尺寸参数一致。
参数配置方式¶
每个算子对应一个BaseOperator的派生类,网络中的每个算子节点,均对应一个Operator类对象,该节点的所有信息(包含算子类型、名称、属性、权重、连接关系、量化信息等)均由该对象的相应属性承载,通过相应的函数接口进行配置。构图的过程,就是创建每个Operator类对象并为其配置属性的过程。
创建好的所有Operator类对象,需要按照算子执行的顺序依次存放在Vector队列中,供下一步模型转换使用。
以下着重介绍参数配置接口(即Set函数),对应的参数获取接口(即Get函数)参考对应头文件的描述,不在此文档中进行罗列。
算子通用接口¶
基本信息配置接口¶
SetOpName¶
函数功能:
指定本层算子的名称,用于模型构建与优化编译过程中的对象识别,该名称需要保证唯一性,不可与其他算子名称或输入输出节点名称重复。
函数原型:
void SetOpName(const std::string &opName)
参数说明:
GetOpName¶
函数功能:
获取本层算子的名称,用于模型构建与优化编译过程中的对象识别,该名称需要保证唯一性,不可与其他算子名称或输入输出节点名称重复。
函数原型:
const std::string& GetOpName() const
参数说明:
SetOpType¶
函数功能:
指定本层算子的类型。
函数原型:
void SetOpType(OpType opType)
参数说明:
GetOpType¶
函数功能:
获取本层算子的类型。
函数原型:
OpType GetOpType() const
参数说明:
连接关系配置接口¶
AddInputName¶
函数功能:
添加一路输入算子的输出节点名称,即为本层算子添加一路输入连接。
函数原型:
void AddInputName(const std::string &name)
参数说明:
SetInputNamesVec¶
函数功能:
设置输入算子的输出节点名称集合,即一次性为本层算子添加多个输入连接。
函数原型:
void SetInputNamesVec(const std::vector<std::string> &inputNamesVec)
参数说明:
表示与之相连的多个输入节点算子的输出名称集合,这些名称具有唯一性。添加名称的顺序也代表了连接顺序,需要使用者保证顺序正确。 |
GetInputNamesVec¶
函数功能:
获取输入算子的输出节点名称集合,即一次性为本层算子添加多个输入连接。
函数原型:
const std::vector<std::string>& GetInputNamesVec() const
参数说明:
表示与之相连的多个输入节点算子的输出名称集合,这些名称具有唯一性。添加名称的顺序也代表了连接顺序,需要使用者保证顺序正确。 |
AddOutputName¶
函数功能:
添加一路输出算子的输入节点名称,即为本层算子添加一路输出连接。
函数原型:
void AddOutputName(const std::string &name)
参数说明:
SetOutputNamesVec¶
函数功能:
设置输出算子的输入节点名称集合,即一次性为本层算子添加多个输出连接。
函数原型:
void SetOutputNamesVec(const std::vector<std::string> &outputNamesVec)
参数说明:
表示与之相连的多个输出节点算子的输入名称集合,这些名称具有唯一性。添加名称的顺序也代表了连接顺序,需要使用者保证顺序正确。 |
GetOutputNamesVec¶
函数功能:
获取输出算子的输入节点名称集合,即一次性为本层算子添加多个输出连接。
函数原型:
const std::vector<std::string>& GetOutputNamesVec() const
参数说明:
表示与之相连的多个输出节点算子的输入名称集合,这些名称具有唯一性。添加名称的顺序也代表了连接顺序,需要使用者保证顺序正确。 |
量化因子配置接口¶
AddInputQuantFactor¶
函数功能:
添加一路输入数据的量化因子。
函数原型:
void AddInputQuantFactor(const OpQuantFactor &quantFactor)
参数说明:
OpQuantFactor对象的定义如下所示。
struct OpQuantFactor {
float scale = 0.f;
int32_t zeroPoint = 0;
OpDataType dataType = OP_DTYPE_S8;
}
包含量化因子scale与zeroPint值,以及量化数据类型。
GetInputQuantFactor¶
函数功能:
获取一路输入数据的量化因子。
函数原型:
OpQuantFactor GetInputQuantFactor(uint32_t idx)
参数说明:
AddOutputQuantFactor¶
函数功能:
添加一路输出数据的量化因子。
函数原型:
void AddOutputQuantFactor(const OpQuantFactor &quantFactor)
参数说明:
OpQuantFactor对象的定义参考AddInputQuantFactor。
GetOutputQuantFactor¶
函数功能:
获取一路输出数据的量化因子。
函数原型:
OpQuantFactor& GetOutputQuantFactor(uint32_t idx)
参数说明:
AddParamQuantFactor¶
函数功能:
添加一组参数数据的量化因子。仅Conv/Depthwiseconv/Deconv支持Perchannel量化,多组量化参数需要调用多次此接口添加。
函数原型:
void AddParamQuantFactor(const OpQuantFactor &quantFactor)
参数说明:
OpQuantFactor对象的定义参考AddInputQuantFactor。
GetParamQuantFactor¶
函数功能:
获取一组参数数据的量化因子。
函数原型:
OpQuantFactor GetParamQuantFactor(uint32_t idx)
参数说明:
SetInputQuantFactorsVec¶
函数功能:
设置输入数据的量化因子集合。
函数原型:
void SetInputQuantFactorsVec(const std::vector<OpQuantFactor> &inputQuantFactorsVec)
参数说明:
OpQuantFactor对象的定义参考AddInputQuantFactor。
GetInputQuantFactorsVec¶
函数功能:
获取输入数据的量化因子集合。
函数原型:
const std::vector<OpQuantFactor>& GetInputQuantFactorsVec()
参数说明:
SetOutputQuantFactorsVec¶
函数功能:
设置输出数据的量化因子集合。
函数原型:
void SetOutputQuantFactorsVec(const std::vector<OpQuantFactor> &outputQuantFactorsVec)
参数说明:
OpQuantFactor对象的定义参考AddInputQuantFactor。
GetOutputQuantFactorsVec¶
函数功能:
获取输出数据的量化因子集合。
函数原型:
const std::vector<OpQuantFactor>& GetOutputQuantFactorsVec()
参数说明:
SetParamQuantFactorsVec¶
函数功能:
设置参数数据的量化因子集合。仅Conv/Depthwiseconv/Deconv支持Perchannel量化,设置多组量化因子。
函数原型:
void SetParamQuantFactorsVec(const std::vector<OpQuantFactor> ¶mQuantFactorsVec)
参数说明:
OpQuantFactor对象的定义参考AddInputQuantFactor。
GetParamQuantFactorsVec¶
函数功能:
获取参数数据的量化因子集合。
函数原型:
const std::vector<OpQuantFactor> GetParamQuantFactorsVec()
参数说明:
Conv/Depthwiseconv/Deconv/Fc通用接口¶
SetOutputChannel¶
函数功能:
配置算子输出数据通道数。
函数原型:
void SetOutputChannel(uint32_t outputChannel)
参数说明:
GetOutputChannel¶
函数功能:
获取算子输出数据通道数。
函数原型:
uint32_t GetOutputChannel() const
参数说明:
SetKernelHeight¶
函数功能:
配置卷积核或池化核高度。
函数原型:
void SetKernelHeight(uint32_t kernelHeight)
参数说明:
GetKernelHeight¶
函数功能:
获取卷积核或池化核高度。
函数原型:
uint32_t GetKernelHeight() const
参数说明:
SetKernelWidth¶
函数功能:
配置卷积核或池化核宽度。
函数原型:
void SetKernelWidth(uint32_t kernelWidth)
参数说明:
GetKernelWidth¶
函数功能:
获取卷积核或池化核宽度。
函数原型:
uint32_t GetKernelWidth() const
参数说明:
SetStrideHeight¶
函数功能:
配置高度方向上stride步长。
函数原型:
void SetStrideHeight(uint32_t strideHeight)
参数说明:
GetStrideHeight¶
函数功能:
获取高度方向上stride步长。
函数原型:
uint32_t GetStrideHeight() const
参数说明:
SetStrideWidth¶
函数功能:
配置宽度方向上stride步长。
函数原型:
void SetStrideWidth(uint32_t strideWidth)
参数说明:
GetStrideWidth¶
函数功能:
获取宽度方向上stride步长。
函数原型:
uint32_t GetStrideWidth() const
参数说明:
SetPadLeft¶
函数功能:
配置左侧pad补边宽度值。
函数原型:
void SetPadLeft(int32_t padLeft)
参数说明:
GetPadLeft¶
函数功能:
获取左侧pad补边宽度值。
函数原型:
int32_t GetPadLeft() const
参数说明:
SetPadRight¶
函数功能:
配置右侧pad补边宽度值。
函数原型:
void SetPadRight(int32_t padRight)
参数说明:
GetPadRight¶
函数功能:
获取右侧pad补边宽度值。
函数原型:
int32_t GetPadRight() const
参数说明:
SetPadUp¶
函数功能:
配置上侧pad补边高度值。
函数原型:
void SetPadUp(int32_t padUp)
参数说明:
GetPadUp¶
函数功能:
获取上侧pad补边高度值。
函数原型:
int32_t GetPadUp() const
参数说明:
SetPadDown¶
函数功能:
配置下侧pad补边高度值。
函数原型:
void SetPadDown(int32_t padDown)
参数说明:
GetPadDown¶
函数功能:
获取下侧pad补边高度值。
函数原型:
int32_t GetOpName() const
参数说明:
SetDilationWidth¶
函数功能:
配置卷积膨胀宽度。
函数原型:
void SetDilationWidth(uint32_t dilationWidth)
参数说明:
GetDilationWidth¶
函数功能:
获取卷积膨胀宽度。
函数原型:
uint32_t GetDilationWidth() const
参数说明:
SetDilationHeight¶
函数功能:
配置卷积膨胀高度。
函数原型:
void SetDilationHeight(uint32_t dilationHeight)
参数说明:
GetDilationHeight¶
函数功能:
获取卷积膨胀高度。
函数原型:
uint32_t GetDilationHeight() const
参数说明:
SetWeightSize¶
函数功能:
权重数据的元素个数。
函数原型:
void SetWeightSize(uint32_t weightSize)
参数说明:
GetWeightSize¶
函数功能:
获取权重数据的元素个数。
函数原型:
uint32_t GetWeightSize() const
参数说明:
SetBiasSize¶
函数功能:
偏移量数据的元素个数。
函数原型:
void SetBiasSize(uint32_t biasSize)
参数说明:
GetBiasSize¶
函数功能:
获取偏移量数据的元素个数。
函数原型:
uint32_t GetBiasSize() const
参数说明:
SetWeightDataPtr¶
函数功能:
配置权重数据指针,数据为float格式。SetWeightDataPtr与SetWeightQuantPtr只能配置一个。
函数原型:
void SetWeightDataPtr(const float *weightDataPtr)
参数说明:
GetWeightDataPtr¶
函数功能:
获取权重数据指针,数据为float格式。SetWeightDataPtr与SetWeightQuantPtr只能配置一个。
函数原型:
const float* GetWeightDataPtr() const
参数说明:
SetWeightQuantPtr¶
函数功能:
配置量化权重数据指针,数据为int8格式,配套AddParamQuantFactor或SetParamQuantFactorsVec使用。SetWeightDataPtr与SetWeightQuantPtr只能配置一个。
函数原型:
void SetWeightQuantPtr(const int8_t *weightQuantPtr)
参数说明:
GetWeightQuantPtr¶
函数功能:
获取量化权重数据指针,数据为int8格式,配套AddParamQuantFactor或SetParamQuantFactorsVec使用。SetWeightDataPtr与SetWeightQuantPtr只能配置一个。
函数原型:
const int8_t* GetWeightQuantPtr() const
参数说明:
SetBiasDataPtr¶
函数功能:
配置偏移量数据指针,数据为float格式。SetBiasDataPtr与SetBiasQuantPtr只能配置一个。
函数原型:
void SetBiasDataPtr(const float *biasDataPtr)
参数说明:
GetBiasDataPtr¶
函数功能:
获取偏移量数据指针,数据为float格式。SetBiasDataPtr与SetBiasQuantPtr只能配置一个。
函数原型:
const float* GetBiasDataPtr() const
参数说明:
SetBiasQuantPtr¶
函数功能:
配置偏移量数据指针,数据为int32格式,配套AddParamQuantFactor或SetParamQuantFactorsVec使用。SetBiasDataPtr与SetBiasQuantPtr只能配置一个。
函数原型:
void SetBiasQuantPtr(const int32_t *biasQuantPtr)
参数说明:
GetBiasQuantPtr¶
函数功能:
获取偏移量数据指针,数据为int32格式,配套AddParamQuantFactor或SetParamQuantFactorsVec使用。SetBiasDataPtr与SetBiasQuantPtr只能配置一个。
函数原型:
const int32_t* GetBiasQuantPtr() const
参数说明:
SetAutoPadType¶
函数功能:
配置AutoPad的类型。
函数原型:
void SetAutoPadType(AutoPadType val)
参数说明:
AutoPadType的类型,通过AutoPadType枚举值配置,共有三种合法选项: |
GetAutoPadType¶
函数功能:
获取AutoPad的类型。
函数原型:
AutoPadType GetAutoPadType() const
参数说明:
AutoPadType的类型,通过AutoPadType枚举值配置,共有三种合法选项: |
SetGroup¶
函数功能:
配置卷积输入通道分组个数。
函数原型:
void SetGroup(uint32_t val)
参数说明:
GetGroup¶
函数功能:
获取卷积输入通道分组个数。
函数原型:
uint32_t GetGroup() const
参数说明:
离线输入配置接口¶
PushOfflineArgs¶
函数功能:
添加一路离线输入信息,包含数据与shape。添加的顺序需要与输入节点的顺序一致,在线数据不可跳过,入参配置为空pair。
函数原型:
void PushOfflineArgs(const pair<vector<float>, vector<int32_t>> &&vec)
参数说明:
一路离线输入信息。Pair对应具体数据队列与shape队列。如果对应的输入表示在线输入,需要把pair配置为空实现,即其first与second对应的vector的size为0。 |
适用的算子包含:ReluOperator、ClipOperator、ConvOperator、MatrixOperator、ArgmaxOperator、ArgminOperator、BinaryMathOperator、ExpOperator、GatherOperator、LrnOperator、MvnOperator、PowerOperator、ReductionOperator、ScaleOperator、SoftmaxOperator、ConcatOperator、ReshapeOperator、TileOperator、LogOperator、CmpOperator。
GetOfflineArgs¶
函数功能:
获取一路离线输入信息,包含数据与shape。添加的顺序需要与输入节点的顺序一致,在线数据不可跳过,入参配置为空pair。
函数原型:
pair<vector<float>, vector<int32_t>>& GetOfflineArgs(int32_t i)
参数说明:
一路离线输入信息。Pair对应具体数据队列与shape队列。如果对应的输入表示在线输入,需要把pair配置为空实现,即其first与second对应的vector的size为0。 |
GetAllOfflineArgs¶
函数功能:
获取所有离线输入信息。添加的顺序需要与输入节点的顺序一致,在线数据不可跳过,入参配置为空pair。
函数原型:
vector<pair<vector<float>, vector<int32_t>>>& GetAllOfflineArgs()
参数说明:
所有离线输入信息。Pair对应具体数据队列与shape队列。如果对应的输入表示在线输入,需要把pair配置为空实现,即其first与second对应的vector的size为0。 |
部分算子通用接口¶
SetAxis¶
函数功能:
配置算子的计算轴。(或开始计算的轴)
函数原型:
void SetAxis(int32_t axis)
参数说明:
适用的算子包含:GatherOperator、BiasOperator、ScaleOperator、ConcatOperator、CropOperator、ReshapeOperator、SliceOperator、ExtractOperator、TileOperator、ArgmaxOperator、ArgminOperator、LayerNormOperator。
须知: 请注意ReshapeOperator特殊场景: 当axis<0时,实际起始维度为axis+1。如当shape=NCHW时,axis=-2,意味着仅对W轴reshape。
GetAxis¶
函数功能:算子的计算轴。(或开始计算的轴)
函数原型:
int32_t GetAxis() const
参数说明:
算子专用接口¶
FcOperator配置接口¶
SetFcTransposeFlag¶
函数功能:
配置参数转置开关。
函数原型:
void SetFcTransposeFlag(bool fcTransposeFlag)
参数说明:
GetFcTransposeFlag¶
函数功能:
获取配置的参数转置开关。
函数原型:
bool GetFcTransposeFlag() const
参数说明:
SetNumOutput¶
函数功能:
配置Fc算子输出数据宽度,同时也对应权重数据的宽度(W方向的元素个数)。
函数原型:
void SetNumOutput(uint32_t numOutput)
参数说明:
GetNumOutput¶
函数功能:
获取配置的Fc算子输出数据宽度,同时也对应权重数据的宽度(W方向的元素个数)。
函数原型:
uint32_t GetNumOutput() const
参数说明:
MatrixOperator配置接口¶
SetMatMulDim1¶
函数功能:
配置第一个input输入的行数(M值)。
函数原型:
void SetMatMulDim1(uint32_t dim)
参数说明:
GetMatMulDim1¶
函数功能:
获取配置的第一个input输入的行数(M值)。
函数原型:
uint32_t GetMatMulDim1() const
参数说明:
SetMatMulDim2¶
函数功能:
配置第一个input输入的列数(K值)。
函数原型:
void SetMatMulDim2(uint32_t dim)
参数说明:
|
GetMatMulDim2¶
函数功能:
获取配置第一个input输入的列数(K值)。
函数原型:
uint32_t GetMatMulDim2() const
参数说明:
|
SetMatMulDim3¶
函数功能:
配置第二个input输入的列数(N值)。
函数原型:
void SetMatMulDim3(uint32_t dim)
参数说明:
|
GetMatMulDim3¶
函数功能:
获取第二个input输入的列数(N值)。
函数原型:
uint32_t GetMatMulDim3() const
参数说明:
|
SetTransBFlag¶
函数功能:
配置第二个输入转置开关。
函数原型:
void SetTransBFlag(bool transB)
参数说明:
GetTransBFlag¶
函数功能:
获取第二个输入转置开关。
函数原型:
bool GetTransBFlag() const
参数说明:
SetWeightQuanted¶
函数功能:
该接口用于说明权重是否是量化后的数据,true表示量化数据,false表示浮点数据。
函数原型:
void SetWeightQuanted(bool isWeightQuant)
参数说明:
GetWeightQuanted¶
函数功能:
该接口用于获取权重是否是量化后的数据,true表示量化数据,false表示浮点数据。
函数原型:
bool GetWeightQuanted() const
参数说明:
PoolOperator配置接口¶
部分接口参考算子通用接口章节。使用SetOpType配置pool类型,支持POOLINGAVE、POOLINGMAX两种模式。使用SetKernelHeight、SetKernelWidth配置kernel尺寸。使用SetStrideHeight、SetStrideWidth配置stride值。使用SetPadLeft、SetPadRight、SetPadUp、SetPadDown配置pad值。
SetRoundMode¶
函数功能:
设置运算取整的方式,目前支持向上取整和向下取整两种。
函数原型:
void SetRoundMode(PoolingRoundMode roundMode)
参数说明:
GetRoundMode¶
函数功能:
获取运算取整的方式,目前支持向上取整和向下取整两种。
函数原型:
PoolingRoundMode GetRoundMode() const
参数说明:
|
SetGlobalPoolingFlag¶
函数功能:
配置算子是否为GlobalPool,否则根据SetOpType配置的值为AvgPool(POOLINGAVE)或MaxPool(POOLINGMAX)。
函数原型:
void SetGlobalPoolingFlag(bool globalPoolingFlag)
参数说明:
GetGlobalPoolingFlag¶
函数功能:
获取算子是否为GlobalPool。
函数原型:
bool GetGlobalPoolingFlag() const
参数说明:
SetCountPadFlag¶
函数功能:
配置计算数值时是否需要计入pad部分。
函数原型:
void SetCountPadFlag(bool flag)
参数说明:
GetCountPadFlag¶
函数功能:
获取计算数值时是否需要计入pad部分。
函数原型:
bool GetCountPadFlag() const
参数说明:
RoiPoolOperator/PsRoiPoolOperator配置接口¶
SetRoiPooledHeight¶
函数功能:
配置Roi池化后输出数据的统一高度。
函数原型:
void SetRoiPooledHeight(uint32_t roiPooledHeight)
参数说明:
GetRoiPooledHeight¶
函数功能:
获取Roi池化后输出数据的统一高度。
函数原型:
uint32_t GetRoiPooledHeight() const
参数说明:
SetRoiPooledWidth¶
函数功能:
配置Roi池化后输出数据的统一宽度。
函数原型:
void SetRoiPooledWidth(uint32_t roiPooledWidth)
参数说明:
GetRoiPooledWidth¶
函数功能:
Roi池化后输出数据的统一宽度。
函数原型:
uint32_t GetRoiPooledWidth() const
参数说明:
SetRoiScale¶
函数功能:
配置从原始输入图像到roi输入特征图的尺寸缩放系数。
函数原型:
void SetRoiScale(float roiScale)
参数说明:
GetRoiScale¶
函数功能:
获取从原始输入图像到roi输入特征图的尺寸缩放系数。
函数原型:
float GetRoiScale() const
参数说明:
SetRoiPooledNum¶
函数功能:
配置输出特征图数量,对应输入roi的个数,同时也对应N值。
函数原型:
void SetRoiPooledNum(uint32_t roiPooledNum)
参数说明:
GetRoiPooledNum¶
函数功能:
获取输出特征图数量,对应输入roi的个数,同时也对应N值。
函数原型:
uint32_t GetRoiPooledNum() const
参数说明:
SetPsroiSpatialScale¶
函数功能:
配置从原始输入图像到psroi输入特征图的尺寸缩放系数。仅PsRoiPoolOperator支持。
函数原型:
void SetPsroiSpatialScale(float spatialScale)
参数说明:
GetPsroiSpatialScale¶
函数功能:
获取从原始输入图像到psroi输入特征图的尺寸缩放系数。仅PsRoiPoolOperator支持。
函数原型:
float GetPsroiSpatialScale() const
参数说明:
SetPsroiOutputDim¶
函数功能:
配置输出channel维度大小。仅PsRoiPoolOperator支持。
函数原型:
void SetPsroiOutputDim(int32_t outputDim)
参数说明:
GetPsroiOutputDim¶
函数功能:
获取输出channel维度大小。仅PsRoiPoolOperator支持。
函数原型:
int32_t GetPsroiOutputDim() const
参数说明:
SetPsroiGroupSize¶
函数功能:
配置输出Feature的高和宽。仅PsRoiPoolOperator支持。
函数原型:
void SetPsroiGroupSize(int32_t groupSize)
参数说明:
GetPsroiGroupSize¶
函数功能:
获取输出Feature的高和宽。仅PsRoiPoolOperator支持。
函数原型:
int32_t GetPsroiGroupSize() const
参数说明:
LstmOperator/ GruOperator/ RnnOperator配置接口¶
SetParserMode¶
函数功能:
配置解析模式,支持Caffe类型解析和Onnx类型解析,默认为Caffe,Onnx解析模式支持配置。
函数原型:
void SetParserMode(const RecurrentAbstractParserMode mode)
参数说明:
GetParserMode¶
函数功能:
获取配置解析模式,支持Caffe类型解析和Onnx类型解析,默认为Caffe,Onnx解析模式支持配置。
函数原型:
RecurrentAbstractParserMode GetParserMode( ) const
参数说明:
SetRecurrentNumOutput¶
函数功能:
配置输出特征数,必须大于0。即输出[T,N,D]中的D值。
函数原型:
void SetRecurrentNumOutput(uint32_t numOutput)
参数说明:
GetRecurrentNumOutput¶
函数功能:
获取输出特征数,必须大于0。即输出[T,N,D]中的D值。
函数原型:
uint32_t GetRecurrentNumOutput() const
参数说明:
SetRecurrentContFlag¶
函数功能:
配置是否使用cont输入。
函数原型:
void SetRecurrentContFlag(bool contFlag)
参数说明:
GetRecurrentContFlag¶
函数功能:
获取是否使用cont输入。
函数原型:
bool GetRecurrentContFlag() const
参数说明:
AddRecurrentParamVec¶
函数功能:
添加一组权重数据。
函数原型:
void AddRecurrentParamVec(const float *param)
参数说明:
GetRecurrentParamVec¶
函数功能:
获取所有权重数据。
函数原型:
vector<const float *> GetRecurrentParamVec() const
参数说明:
AddRecurrentParamLengthVec¶
函数功能:
添加一组权重数据的长度。
函数原型:
void AddRecurrentParamLengthVec(uint32_t length)
参数说明:
GetRecurrentParamLengthVec¶
函数功能:
获取所有权重数据的长度。
函数原型:
vector<uint32_t> GetRecurrentParamLengthVec() const
参数说明:
SetInitialHOnlineFlag¶
函数功能:
配置InitialH是否在线输入,为true时表示在线输入InitialH,Onnx解析模式支持配置。
函数原型:
void SetInitialHOnlineFlag(bool flag)
参数说明:
GetInitialHOnlineFlag¶
函数功能:
获取InitialH是否在线输入,为true时表示在线输入InitialH,Onnx解析模式支持配置。
函数原型:
bool GetInitialHOnlineFlag()
参数说明:
SetInitialCOnlineFlag¶
函数功能:
配置InitialC是否在线输入,为true时表示在线输入InitialC,Lstm Onnx解析模式支持配置。
函数原型:
void SetInitialCOnlineFlag(bool flag)
参数说明:
GetInitialCOnlineFlag¶
函数功能:
获取InitialC是否在线输入,为true时表示在线输入InitialC,Lstm Onnx解析模式支持配置。
函数原型:
bool GetInitialCOnlineFlag()
参数说明:
SetSequenceLensOnlineFlag¶
函数功能:
配置SequenceLens是否在线输入,为true时表示在线输入SequenceLens,Onnx解析模式支持配置。
函数原型:
void SetSequenceLensOnlineFlag(bool flag)
参数说明:
GetSequenceLensOnlineFlag¶
函数功能:
获取SequenceLens是否在线输入,为true时表示在线输入SequenceLens,Onnx解析模式支持配置。
函数原型:
bool GetSequenceLensOnlineFlag()
参数说明:
SetRecurrentDirection¶
函数功能:
配置RNN推导方向,支持正向、逆向以及双向等模式。Onnx解析模式支持配置。
函数原型:
void SetRecurrentDirection(RecurrentDirection direction)
参数说明:
GetRecurrentDirection¶
函数功能:
获取配置的RNN推导方向,支持正向、逆向以及双向等模式。Onnx解析模式支持配置。
函数原型:
RecurrentDirection GetRecurrentDirection()
参数说明:
SetAfClip¶
函数功能:
配置数据截断范围。截断将张量的元素限制在 [-阈值, +阈值] 范围内,并应用于激活的输入。如果未指定,则不截断。Onnx解析模式支持配置。
函数原型:
void SetAfClip(float clip)
参数说明:
GetAfClip¶
函数功能:
获取配置的数据截断范围。截断将张量的元素限制在 [-阈值, +阈值] 范围内,并应用于激活的输入。如果未指定,则不截断。Onnx解析模式支持配置。
函数原型:
float GetAfClip() const
参数说明:
SetLinearBeforeResetFlag¶
函数功能:
配置计算隐藏门的输出时,在乘以复位门的输出之前是否应用线性变换。Onnx GRU解析模式支持配置。
函数原型:
void SetLinearBeforeResetFlag(bool flag)
参数说明:
GetLinearBeforeResetFlag¶
函数功能:
获取配置计算隐藏门的输出时,在乘以复位门的输出之前是否应用线性变换。Onnx GRU解析模式支持配置。
函数原型:
bool GetLinearBeforeResetFlag()
参数说明:
SetXtShapeVec¶
函数功能:
配置权重Xt的shape大小。Onnx解析模式支持配置。
函数原型:
void SetXtShapeVec(const vector<int32_t> &xtShapeVec)
参数说明:
GetXtShapeVec¶
函数功能:
获取配置权重Xt的shape大小。Onnx解析模式支持配置。
函数原型:
const vector<int32_t>& GetXtShapeVec()
参数说明:
SetHtShapeVec¶
函数功能:
配置权重Ht的shape大小。Onnx解析模式支持配置。
函数原型:
void SetHtShapeVec(const vector<int32_t> &htShapeVec)
参数说明:
GetHtShapeVec¶
函数功能:
获取配置权重Ht的shape大小。Onnx解析模式支持配置。
函数原型:
const vector<int32_t>& GetHtShapeVec()
参数说明:
SetPeepholesShapeVec¶
函数功能:
配置Peepholes的shape大小。Lstm Onnx解析模式支持配置。
函数原型:
void SetPeepholesShapeVec(const vector<int32_t> &peepholesShapeVec)
参数说明:
GetPeepholesShapeVec¶
函数功能:
获取配置Peepholes的shape大小。Lstm Onnx解析模式支持配置。
函数原型:
const vector<int32_t>& GetPeepholesShapeVec()
参数说明:
SetRecurrentBiasShapeVec¶
函数功能:
配置偏移量的shape大小。Onnx解析模式支持配置。
函数原型:
void SetRecurrentBiasShapeVec(const vector<int32_t> &biasShapeVec)
参数说明:
GetRecurrentBiasShapeVec¶
函数功能:
获取配置偏移量的shape大小。Onnx解析模式支持配置。
函数原型:
const vector<int32_t>& GetRecurrentBiasShapeVec()
参数说明:
SetXtWeightDataPtr¶
函数功能:
配置权重Xt的数据指针。Onnx解析模式支持配置。要求配置权重Xt数据的大小要与SetXtShapeVec设置的shape包含的数据量大小保持一致。
函数原型:
void SetXtWeightDataPtr(const float *xtWeightDataPtr)
参数说明:
GetXtWeightDataPtr¶
函数功能:
获取配置权重Xt的数据指针。Onnx解析模式支持配置。
函数原型:
const float* GetXtWeightDataPtr()
参数说明:
SetXtWeightQuantPtr¶
函数功能:
配置权重Xt的量化数据指针。Onnx解析模式支持配置。要求配置权重Xt量化数据的大小要与SetXtShapeVec设置的shape包含的数据量大小保持一致。
函数原型:
void SetXtWeightQuantPtr(const int8_t *xtWeightQuantPtr)
参数说明:
GetXtWeightQuantPtr¶
函数功能:
获取配置权重Xt的量化数据指针。Onnx解析模式支持配置。
函数原型:
const int8_t* GetXtWeightQuantPtr()
参数说明:
SetHtWeightDataPtr¶
函数功能:
配置权重Ht的数据指针。Onnx解析模式支持配置。要求配置权重Ht数据的大小要与SetHtShapeVec设置的shape包含的数据量大小保持一致。
函数原型:
void SetHtWeightDataPtr(const float *htWeightDataPtr)
参数说明:
GetHtWeightDataPtr¶
函数功能:
获取配置权重Ht的数据指针。Onnx解析模式支持配置。
函数原型:
const float* GetHtWeightDataPtr()
参数说明:
SetHtWeightQuantPtr¶
函数功能:
配置权重Ht的量化数据指针。Onnx解析模式支持配置。要求配置权重Ht量化数据的大小要与SetHtShapeVec设置的shape包含的数据量大小保持一致。
函数原型:
void SetHtWeightQuantPtr(const int8_t *htWeightQuantPtr)
参数说明:
GetHtWeightQuantPtr¶
函数功能:
获取配置权重Ht的量化数据指针。Onnx解析模式支持配置。
函数原型:
const int8_t* GetHtWeightQuantPtr()
参数说明:
SetPeepholesWeightDataPtr¶
函数功能:
配置权重Peepholes的数据指针。Lstm Onnx解析模式支持配置。要求配置权重Peepholes数据的大小要与SetPeepholesShapeVec设置的shape包含的数据量大小保持一致。
函数原型:
void SetPeepholesWeightDataPtr(const float *peepholesWeightDataPtr)
参数说明:
GetPeepholesWeightDataPtr¶
函数功能:
获取配置权重Peepholes的数据指针。Lstm Onnx解析模式支持配置。
函数原型:
const float* GetPeepholesWeightDataPtr()
参数说明:
SetPeepholesWeightQuantPtr¶
函数功能:
配置权重Peepholes的量化数据指针。目前仅Lstm Onnx解析模式支持配置。要求配置权重Peepholes量化数据的大小要与SetPeepholesShapeVec设置的shape包含的数据量大小保持一致。
函数原型:
void SetPeepholesWeightQuantPtr(const int8_t *peepholesWeightQuantPtr)
参数说明:
GetPeepholesWeightQuantPtr¶
函数功能:
获取配置权重Peepholes的量化数据指针。目前仅Lstm Onnx解析模式支持配置。
函数原型:
const int8_t* GetPeepholesWeightQuantPtr()
参数说明:
SetRecurrentBiasDataPtr¶
函数功能:
配置偏移量的数据指针。Onnx解析模式支持配置。要求配置偏移量数据的大小要与SetRecurrentBiasShapeVec设置的shape包含的数据量大小保持一致。
函数原型:
void SetRecurrentBiasDataPtr(const float *biasWeightDataPtr)
参数说明:
GetRecurrentBiasDataPtr¶
函数功能:
获取配置偏移量的数据指针。Onnx解析模式支持配置。
函数原型:
const float* GetRecurrentBiasDataPtr()
参数说明:
SetRecurrentBiasQuantPtr¶
函数功能:
配置偏移量的量化数据指针。Onnx解析模式支持配置。要求配置偏移量量化数据的大小要与SetRecurrentBiasShapeVec设置的shape包含的数据量大小保持一致。
函数原型:
void SetRecurrentBiasQuantPtr(const int32_t *biasWeightQuantPtr)
参数说明:
GetRecurrentBiasQuantPtr¶
函数功能:
获取配置偏移量的量化数据指针。Onnx解析模式支持配置。
函数原型:
const int32_t* GetRecurrentBiasQuantPtr()
参数说明:
ArgmaxOperator配置接口¶
SetAxis接口参考SetAxis章节,其默认值为1。
SetArgMaxAxis¶
函数功能:
配置当前算子的Axis属性值。
函数原型:
void SetArgMaxAxis(const int32_t axis);
参数说明:
GetArgMaxAxis¶
函数功能:
获取当前算子的Axis属性值。
函数原型:
const int32_t GetArgMaxAxis() const;
参数说明:
SetKeepDims¶
函数功能:
配置输出是否需要保持维度数量不变。
函数原型:
void SetKeepDims(bool keepDims)
参数说明:
GetKeepDims¶
函数功能:
获取输出是否需要保持维度数量不变。
函数原型:
bool GetKeepDims() const
参数说明:
SetSelectLastIndex¶
函数功能:
当有多个相同的最大值时,配置输出的最大值索引对应的是否为最后一个最大值。
函数原型:
void SetSelectLastIndex(bool selectLastIndex)
参数说明:
GetSelectLastIndex¶
函数功能:
获取输出的最大值索引对应的是否为最后一个最大值。
函数原型:
bool GetSelectLastIndex() const
参数说明:
BinaryMathOperator配置接口¶
SetBinaryMathOp¶
函数功能:
配置算数运算的类型。
函数原型:
void SetBinaryMathOp(BinaryMathOp binaryMathOp)
参数说明:
仅支持两路输入:ADD_OP, SUM_OP, MUL_OP, DIV_OP, SQUARE_DIFF_OP, X_DIV_Y_OP, X_LOG_Y_OP。 |
GetBinaryMathOp¶
函数功能:
获取算数运算的类型。
函数原型:
BinaryMathOp GetBinaryMathOp() const
参数说明:
DecBboxOperator配置接口¶
SetDecBboxParam¶
函数功能:
设置后处理参数,其paramType需要指定为PROPOSAL_DECBBOX。
函数原型:
void SetDecBboxParam(struct DetectionOutputParam DecBboxParam)
参数说明:
后处理参数,由DetectionOutputParam类型的对象表征,其paramType需要指定为PROPOSAL_DECBBOX。 |
GetDecBboxParam¶
函数功能:
获取后处理参数,其paramType需要指定为PROPOSAL_DECBBOX。
函数原型:
DetectionOutputParam GetDecBboxParam() const
参数说明:
后处理参数,由DetectionOutputParam类型的对象表征,其paramType需要指定为PROPOSAL_DECBBOX。 |
SetNumGridsWidth¶
函数功能:
配置宽度方向上grid数量。
函数原型:
void SetNumGridsWidth(uint32_t numGridsWidth)
参数说明:
GetNumGridsWidth¶
函数功能:
获取宽度方向上grid数量。
函数原型:
uint32_t GetNumGridsWidth() const
参数说明:
SetNumGridsHeight¶
函数功能:
配置高度方向上grid数量。
函数原型:
void SetNumGridsHeight(uint32_t numGridsHeight)
参数说明:
GetNumGridsHeight¶
函数功能:
获取高度方向上grid数量。
函数原型:
uint32_t GetNumGridsHeight() const
参数说明:
SetNumAnchors¶
函数功能:
配置总框数。与SetNumBboxesPerGrid不同时使用。
函数原型:
void SetNumAnchors(uint32_t numAnchors)
参数说明:
GetNumAnchors¶
函数功能:
获取总框数。与SetNumBboxesPerGrid不同时使用。
函数原型:
uint32_t GetNumAnchors() const
参数说明:
SetNumBboxesPerGrid¶
函数功能:
配置每个grid中框的数量。与SetNumAnchors不同时使用。
函数原型:
void SetNumBboxesPerGrid(uint32_t numBboxesPerGrid)
参数说明:
GetNumBboxesPerGrid¶
函数功能:
获取每个grid中框的数量。与GetNumAnchors不同时使用。
函数原型:
uint32_t GetNumBboxesPerGrid() const
参数说明:
SetNumCoords¶
函数功能:
配置Coords的数量。
函数原型:
void SetNumCoords(uint32_t numCoords)
参数说明:
GetNumCoords¶
函数功能:
获取Coords的数量。
函数原型:
uint32_t GetNumCoords() const
参数说明:
SetNumClasses¶
函数功能:
配置检测目标类型总数。
函数原型:
void SetNumClasses(uint32_t numClasses)
参数说明:
GetNumClasses¶
函数功能:
获取检测目标类型总数。
函数原型:
uint32_t GetNumClasses() const
参数说明:
EltwiseOperator配置接口¶
SetEltwiseOp¶
函数功能:
配置算数运算的类型。
函数原型:
void SetEltwiseOp(BinaryMathOp eltwiseOp)
参数说明:
GetEltwiseOp¶
函数功能:
获取算数运算的类型。
函数原型:
BinaryMathOp GetEltwiseOp() const
参数说明:
SetEltCoeffVec¶
函数功能:
配置coeff值集合。在sum时,每路输入乘以对应的系数。
函数原型:
void SetEltCoeffVec(const vector<float> &eltCoeffVec)
参数说明:
GetEltCoeffVec¶
函数功能:
获取coeff值集合。在sum时,每路输入乘以对应的系数。
函数原型:
const vector<float>& GetEltCoeffVec() const
参数说明:
AddEltCoeff¶
函数功能:
添加一组coeff值。在sum时,每路输入乘以对应的系数。
函数原型:
void AddEltCoeff(float eltCoeff)
参数说明:
ExpOperator配置接口¶
SetExpBase¶
函数功能:
配置exp运算的底数值。
函数原型:
void SetExpBase(float expBase)
参数说明:
GetExpBase¶
函数功能:
获取exp运算的底数值。
函数原型:
float GetExpBase() const
参数说明:
SetExpScale¶
函数功能:
配置exp运算的scale缩放值。
函数原型:
void SetExpScale(float expScale)
参数说明:
GetExpScale¶
函数功能:
获取exp运算的scale缩放值。
函数原型:
float GetExpScale() const
参数说明:
SetExpShift¶
函数功能:
配置exp运算的shift偏移值。
函数原型:
void SetExpShift(float expShift)
参数说明:
GetExpShift¶
函数功能:
获取exp运算的shift偏移值。
函数原型:
float GetExpShift() const
参数说明:
GatherOperator配置接口¶
SetAxis接口参考SetAxis章节,其默认值为1。
InterpOperator配置接口¶
SetInterpHeight¶
函数功能:
配置双线性差值变形后的高度值。与SetInterpWidth配合使用,不能与SetInterpZoom、SetInterpShrink同时使用。
函数原型:
void SetInterpHeight(int32_t interpHeight)
参数说明:
GetInterpHeight¶
函数功能:
获取双线性差值变形后的高度值。与SetInterpWidth配合使用,不能与SetInterpZoom、SetInterpShrink同时使用。
函数原型:
int32_t GetInterpHeight() const
参数说明:
SetInterpWidth¶
函数功能:
配置双线性差值变形后的宽度值。与SetInterpHeight配合使用,不能与SetInterpZoom、SetInterpShrink同时使用。
函数原型:
void SetInterpWidth(int32_t interpWidth)
参数说明:
GetInterpWidth¶
函数功能:
获取双线性差值变形后的宽度值。与SetInterpHeight配合使用,不能与SetInterpZoom、SetInterpShrink同时使用。
函数原型:
int32_t GetInterpWidth() const
参数说明:
SetInterpZoom¶
函数功能:
配置水平和竖直方向的放大系数。不能与SetInterpHeight、SetInterpWidth、SetInterpShrink同时使用。
函数原型:
void SetInterpZoom(int32_t interpZoom)
参数说明:
GetInterpZoom¶
函数功能:
获取水平和竖直方向的放大系数。不能与SetInterpHeight、SetInterpWidth、SetInterpShrink同时使用。
函数原型:
int32_t GetInterpZoom() const
参数说明:
SetInterpShrink¶
函数功能:
配置水平和竖直方向的缩小系数。不能与SetInterpHeight、SetInterpWidth、SetInterpZoom同时使用。
函数原型:
void SetInterpShrink(int32_t interpShrink)
参数说明:
GetInterpShrink¶
函数功能:
获取水平和竖直方向的缩小系数。不能与SetInterpHeight、SetInterpWidth、SetInterpZoom同时使用。
函数原型:
int32_t GetInterpShrink() const
参数说明:
SetInterpPadBeg¶
函数功能:
配置水平和竖直方向起始位置,即负补边值。只能为负值或0。
函数原型:
void SetInterpPadBeg(int32_t interpPadBeg)
参数说明:
GetInterpPadBeg¶
函数功能:
获取水平和竖直方向起始位置,即负补边值。只能为负值或0。
函数原型:
int32_t GetInterpPadBeg() const
参数说明:
SetInterpPadEnd¶
函数功能:
配置水平和竖直方向结束位置,即负补边值。只能为负值或0。
函数原型:
void SetInterpPadEnd(int32_t interpPadEnd)
参数说明:
GetInterpPadEnd¶
函数功能:
获取水平和竖直方向结束位置,即负补边值。只能为负值或0。
函数原型:
int32_t GetInterpPadEnd() const
参数说明:
LrnOperator配置接口¶
SetLrnLocalSize¶
函数功能:
配置Lrn运算的size值。
函数原型:
void SetLrnLocalSize(uint32_t lrnLocalSize)
参数说明:
GetLrnLocalSize¶
函数功能:
获取Lrn运算的size值。
函数原型:
uint32_t GetLrnLocalSize() const
参数说明:
SetLrnAlpha¶
函数功能:
配置Lrn运算的alpha值。
函数原型:
void SetLrnAlpha(float lrnAlpha)
参数说明:
GetLrnAlpha¶
函数功能:
获取Lrn运算的alpha值。
函数原型:
float GetLrnAlpha() const
参数说明:
SetLrnBeta¶
函数功能:
配置Lrn运算的beta值。
函数原型:
void SetLrnBeta(float lrnBeta)
参数说明:
GetLrnBeta¶
函数功能:
获取Lrn运算的beta值。
函数原型:
float GetLrnBeta() const
参数说明:
SetLrnK¶
函数功能:
配置Lrn运算的k值。
函数原型:
void SetLrnK(float lrnK)
参数说明:
GetLrnK¶
函数功能:
获取Lrn运算的k值。
函数原型:
float GetLrnK() const
参数说明:
MvnOperator配置接口¶
SetMVNNormalizeVariance¶
函数功能:
设为false时只减均值,默认为true。
函数原型:
void SetMVNNormalizeVariance(bool flag)
参数说明:
GetMVNNormalizeVariance¶
函数功能:
获取是否只减均值。false时只减均值,默认为true。
函数原型:
bool GetMVNNormalizeVariance() const
参数说明:
SetMVNAcrossChannels¶
函数功能:
设为true时就使CHW视为一个向量,默认为flase。
函数原型:
void SetMVNAcrossChannels(bool flag)
参数说明:
GetMVNAcrossChannels¶
函数功能:
获取是否将CHW视为一个向量。设为true时就使CHW视为一个向量,默认为flase
函数原型:
bool GetMVNAcrossChannels() const
参数说明:
SetMVNEps¶
函数功能:
Epsilon为了防止除零,默认值5.96e-8,可以配置。
函数原型:
void SetMVNEps(float eps)
参数说明:
GetMVNEps¶
函数功能:
获取Epsilon值,为了防止除零,默认值5.96e-8。
函数原型:
float GetMVNEps() const
参数说明:
PushMVNAxes¶
函数功能:
添加一组参与运算的轴。
函数原型:
void PushMVNAxes(uint32_t axis)
参数说明:
GetMVNAxes¶
函数功能:
获取所有参与运算的轴。
函数原型:
vector<uint32_t> GetMVNAxes() const
参数说明:
NormalizeOperator配置接口¶
SetNormAcrossSpatial¶
函数功能:
配置是否在全空间做normalize运算。
函数原型:
void SetNormAcrossSpatial(bool normAcrossSpatial)
参数说明:
GetNormAcrossSpatial¶
函数功能:
获取是否在全空间做normalize运算。
函数原型:
bool GetNormAcrossSpatial() const
参数说明:
SetNormAlpha¶
函数功能:
配置Norm运算中alpha参数的值。
函数原型:
void SetNormAlpha(float normAlpha)
参数说明:
GetNormAlpha¶
函数功能:
获取Norm运算中alpha参数的值。
函数原型:
float GetNormAlpha() const
参数说明:
SetNormEps¶
函数功能:
为了防止除0,默认值1e-10。
函数原型:
void SetNormEps(float normEps)
参数说明:
GetNormEps¶
函数功能:
获取Epsilon值,为了防止除零,默认值1e-10。
函数原型:
float GetNormEps() const
参数说明:
SetNormScaleVec¶
函数功能:
配置所有通道的scale参数值。
函数原型:
void SetNormScaleVec(vector<float> normScaleVec)
参数说明:
GetNormScaleVec¶
函数功能:
获取所有通道的scale参数值。
函数原型:
vector<float> GetNormScaleVec() const
参数说明:
PushNormScale¶
函数功能:
添加一个通道的scale参数值。
函数原型:
void PushNormScale(float normScale)
参数说明:
PassthroughOperator配置接口¶
Reorg算子与Passthrough算子功能一致,统一使用PassthroughOperator构图。
SetPassThroughNumOutput¶
函数功能:
配置输出数据通道数。
函数原型:
void SetPassThroughNumOutput(uint32_t numOuput)
参数说明:
GetPassThroughNumOutput¶
函数功能:
获取输出数据通道数。
函数原型:
uint32_t GetPassThroughNumOutput() const
参数说明:
SetPassThroughBlockHeight¶
函数功能:
配置H方向block单元的长度,即H方向尺寸缩小的倍数。
函数原型:
void SetPassThroughBlockHeight(uint32_t height)
参数说明:
GetPassThroughBlockHeight¶
函数功能:
获取H方向block单元的长度,即H方向尺寸缩小的倍数。
函数原型:
uint32_t GetPassThroughBlockHeight() const
参数说明:
SetPassThroughBlockWidth¶
函数功能:
配置W方向block单元的长度,即W方向尺寸缩小的倍数。
函数原型:
void SetPassThroughBlockWidth(uint32_t width)
参数说明:
GetPassThroughBlockWidth¶
函数功能:
获取W方向block单元的长度,即W方向尺寸缩小的倍数。
函数原型:
uint32_t GetPassThroughBlockWidth() const
参数说明:
PowerOperator配置接口¶
SetPowerPower¶
函数功能:
配置Power运算的幂指数。
函数原型:
void SetPowerPower(float powerPower)
参数说明:
GetPowerPower¶
函数功能:
获取Power运算的幂指数。
函数原型:
float GetPowerPower() const
参数说明:
SetPowerScale¶
函数功能:
配置缩放系数。
函数原型:
void SetPowerScale(float powerScale)
参数说明:
GetPowerScale¶
函数功能:
获取缩放系数。
函数原型:
float GetPowerScale() const
参数说明:
SetPowerShift¶
函数功能:
配置偏移系数。
函数原型:
void SetPowerShift(float powerShift)
参数说明:
GetPowerShift¶
函数功能:
获取偏移系数。
函数原型:
float GetPowerShift() const
参数说明:
ReductionOperator配置接口¶
SetReductionOp¶
函数功能:
配置运算类型。
函数原型:
void SetReductionOp(ReductionOp reductionOp)
参数说明:
运算类型。由枚举值ReductionOp表征,可配置的枚举值有: 当前版本支持配置RD_SUM、RD_ASUM、RD_SUMSQ、RD_MEAN、RD_MAX、RD_MIN 、RD_PROD、RD_L2,默认配置为RD_SUM 其中RD_SUM、RD_ASUM、RD_MEAN、RD_SUMSQ四种类型默认走CAFFE实现,走ONNX需要额外配置(见3.3.18.9) |
GetReductionOp¶
函数功能:
获取运算类型。
函数原型:
ReductionOp GetReductionOp() const
参数说明:
运算类型。由枚举值ReductionOp表征,可配置的枚举值有: 当前版本支持配置RD_SUM、RD_ASUM、RD_SUMSQ、RD_MEAN、RD_MAX、RD_MIN 、RD_PROD、RD_L2,默认配置为RD_SUM |
SetReductionCoeff¶
函数功能:
配置输出的系数。
函数原型:
void SetReductionCoeff(float reductionCoeff)
参数说明:
GetReductionCoeff¶
函数功能:
获取输出的系数。
函数原型:
float GetReductionCoeff() const
参数说明:
SetReduceAxesSet¶
函数功能:
配置所有参与Reduce运算的坐标轴。
函数原型:
void SetReduceAxesSet(const set<int> &axesSet)
参数说明:
GetReduceAxesSet¶
函数功能:
获取所有参与Reduce运算的坐标轴。
函数原型:
const set<int>& GetReduceAxesSet() const
参数说明:
SetReduceKeepDims¶
函数功能:
配置布尔开关值,表示计算完成后是否保持维度数不变。
函数原型:
void SetReduceKeepDims(bool keepDims)
参数说明:
GetReduceKeepDims¶
函数功能:
获取布尔开关值,表示计算完成后是否保持维度数不变。
函数原型:
bool GetReduceKeepDims() const
参数说明:
SetReduceIsFromCaffe¶
函数功能:
配置布尔开关值,表示算子走Caffe还是Onnx
函数原型:
bool SetReduceIsFromCaffe(bool isFromCaffe)
参数说明:
支持算子为RD_MEAN、RD_SUM、RD_ASUM、RD_SUMSQ四种类型的时候进行配置。默认配置为true,表示默认走Caffe,配置false可让算子走Onnx实现。其它算子类型建议配置为false。 |
GetReduceIsFromCaffe¶
函数功能:
获取布尔开关值,表示算子走Caffe还是Onnx
函数原型:
bool GetReduceIsFromCaffe() const
参数说明:
判断算子走Caffe还是Onnx实现,建议配置。默认为RD_MEAN、RD_SUM、RD_ASUM、RD_SUMSQ四种类型走Caffe实现。 |
ScaleOperator配置接口¶
SetAxis接口参考SetAxis章节,其默认值为1。
SetScaleWeightSize¶
函数功能:
配置权重数据的个数。
函数原型:
void SetScaleWeightSize(uint32_t scaleWeightSize)
参数说明:
GetScaleWeightSize¶
函数功能:
获取权重数据的个数。
函数原型:
uint32_t GetScaleWeightSize() const
参数说明:
SetScaleBiasSize¶
函数功能:
配置偏移量数据的个数。
函数原型:
void SetScaleBiasSize(uint32_t scaleBiasSize)
参数说明:
GetScaleBiasSize¶
函数功能:
获取偏移量数据的个数。
函数原型:
uint32_t GetScaleBiasSize() const
参数说明:
SetScaleNumAxes¶
函数功能:
配置参与运算的坐标轴数量,与SetAxis接口配合使用。
函数原型:
void SetScaleNumAxes(int32_t scaleNumAxes)
参数说明:
GetScaleNumAxes¶
函数功能:
获取参与运算的坐标轴数量,与SetAxis接口配合使用。
函数原型:
int32_t GetScaleNumAxes() const
参数说明:
SetScaleWeightPtr¶
函数功能:
配置权重数据指针。
函数原型:
void SetScaleWeightPtr(const float *scaleWeightPtr)
参数说明:
GetScaleWeightPtr¶
函数功能:
获取权重数据指针。
函数原型:
const float* GetScaleWeightPtr() const
参数说明:
SetScaleBiasPtr¶
函数功能:
配置偏移量数据指针。
函数原型:
void SetScaleBiasPtr(const float *scaleBiasPtr)
参数说明:
GetScaleBiasPtr¶
函数功能:
获取偏移量数据指针。
函数原型:
const float* GetScaleBiasPtr() const
参数说明:
SetScaleShapeVec¶
函数功能:
配置权重数据的所有shape信息。
函数原型:
void SetScaleShapeVec(const vector<int32_t> &scaleShapeVec)
参数说明:
GetScaleShapeVec¶
函数功能:
获取权重数据的所有shape信息。
函数原型:
const vector<int32_t>& GetScaleShapeVec() const
参数说明:
AddScaleShape¶
函数功能:
添加权重数据的一个shape维度数据。
函数原型:
void AddScaleShape(int32_t scaleShape)
参数说明:
SoftmaxOperator配置接口¶
SetRealAxes¶
函数功能:
配置进行softmax运算的所有维度组合模式。
函数原型:
void SetRealAxes(SoftmaxAxes axes)
参数说明:
GetRealAxes¶
函数功能:
获取进行softmax运算的所有维度组合模式。
函数原型:
SoftmaxAxes GetMatMulDim1() const
参数说明:
ThresholdOperator配置接口¶
SetThreshold¶
函数功能:
配置阈值。
函数原型:
void SetThreshold(float threshold)
参数说明:
GetThreshold¶
函数功能:
获取阈值。
函数原型:
float GetThreshold() const
参数说明:
UpsampleOperator配置接口¶
SetUpsampleScale¶
函数功能:
配置缩放系数。
函数原型:
void SetUpsampleScale(uint32_t upsampleScale)
参数说明:
GetUpsampleScale¶
函数功能:
获取缩放系数。
函数原型:
uint32_t GetUpsampleScale() const
参数说明:
SetInterpolationMode¶
函数功能:
配置差值计算模式。
函数原型:
void SetInterpolationMode(InterpolationMode mode)
参数说明:
GetInterpolationMode¶
函数功能:
获取差值计算模式。
函数原型:
InterpolationMode GetInterpolationMode() const
参数说明:
BatchNormOperator配置接口¶
SetBnEps¶
函数功能:
配置分母附加值,防止除以方差时出现除0操作,默认为1e-5。
函数原型:
void SetBnEps(float bnEps)
参数说明:
GetBnEps¶
函数功能:
获取分母附加值,防止除以方差时出现除0操作,默认为1e-5。
函数原型:
float GetBnEps() const
参数说明:
SetBnScaleSize¶
函数功能:
配置缩放权重数据的个数。
函数原型:
void SetBnScaleSize(uint32_t bnScaleSize)
参数说明:
GetBnScaleSize¶
函数功能:
获取缩放权重数据的个数。
函数原型:
uint32_t GetBnScaleSize() const
参数说明:
SetBnBiasSize¶
函数功能:
配置偏移量数据的个数。
函数原型:
void SetBnBiasSize(uint32_t bnBiasSize)
参数说明:
GetBnBiasSize¶
函数功能:
获取偏移量数据的个数。
函数原型:
uint32_t GetBnBiasSize() const
参数说明:
SetBnScalePtr¶
函数功能:
配置缩放权重数据的指针。
函数原型:
void SetBnScalePtr(const float *bnScalePtr)
参数说明:
GetBnScalePtr¶
函数功能:
获取缩放权重数据的指针。
函数原型:
const float* GetBnScalePtr() const
参数说明:
SetBnBiasPtr¶
函数功能:
配置偏移量数据的指针。
函数原型:
void SetBnBiasPtr(const float *bnBiasPtr)
参数说明:
GetBnBiasPtr¶
函数功能:
获取偏移量数据的指针。
函数原型:
const float* GetBnBiasPtr() const
参数说明:
SetBnMeanDataPtr¶
函数功能:
配置均值数据的指针。
函数原型:
void SetBnMeanDataPtr(const float *bnMeanData)
参数说明:
GetBnMeanDataPtr¶
函数功能:
获取均值数据的指针。
函数原型:
const float* GetBnMeanDataPtr() const
参数说明:
SetBnVarDataPtr¶
函数功能:
配置方差数据指针。
函数原型:
void SetBnVarDataPtr(const float *bnVarData)
参数说明:
GetBnVarDataPtr¶
函数功能:
获取方差数据指针。
函数原型:
const float* GetBnVarDataPtr() const
参数说明:
SetBnMeanSize¶
函数功能:
配置均值数据的个数。
函数原型:
void SetBnMeanSize(uint32_t bnMeanSize)
参数说明:
GetBnMeanSize¶
函数功能:
获取均值数据的个数。
函数原型:
uint32_t GetBnMeanSize() const
参数说明:
SetBnVarSize¶
函数功能:
配置方差数据的个数。
函数原型:
void SetBnVarSize(uint32_t bnVarSize)
参数说明:
GetBnVarSize¶
函数功能:
获取方差数据的个数。
函数原型:
uint32_t GetBnVarSize() const
参数说明:
DetectionOutputOperator配置接口¶
SetNumGridsWidth¶
函数功能:
配置宽度方向上grid数量。
函数原型:
void SetNumGridsWidth(uint32_t numGridsWidth)
参数说明:
GetNumGridsWidth¶
函数功能:
获取宽度方向上grid数量。
函数原型:
uint32_t GetNumGridsWidth() const
参数说明:
SetNumGridsHeight¶
函数功能:
配置高度方向上grid数量。
函数原型:
void SetNumGridsHeight(uint32_t numGridsHeight)
参数说明:
GetNumGridsHeight¶
函数功能:
获取高度方向上grid数量。
函数原型:
uint32_t GetNumGridsHeight() const
参数说明:
SetNumAnchors¶
函数功能:
配置总框数。与SetNumBboxesPerGrid不同时使用。
函数原型:
void SetNumAnchors(uint32_t numAnchors)
参数说明:
1GetNumAnchors¶
函数功能:
获取总框数。与SetNumBboxesPerGrid不同时使用。
函数原型:
uint32_t GetNumAnchors() const
参数说明:
SetNumBboxesPerGrid¶
函数功能:
配置每个grid中框的数量。与SetNumAnchors不同时使用。
函数原型:
void SetNumBboxesPerGrid(uint32_t numBboxesPerGrid)
参数说明:
GetNumBboxesPerGrid¶
函数功能:
获取每个grid中框的数量。与SetNumAnchors不同时使用。
函数原型:
uint32_t GetNumBboxesPerGrid() const
参数说明:
SetNumCoords¶
函数功能:
配置Coords的数量。
函数原型:
void SetNumCoords(uint32_t numCoords)
参数说明:
GetNumCoords¶
函数功能:
获取Coords的数量。
函数原型:
uint32_t GetNumCoords() const
参数说明:
SetNumClasses¶
函数功能:
配置类型总数。
函数原型:
void SetNumClasses(uint32_t numClasses)
参数说明:
GetNumClasses¶
函数功能:
获取类型总数。
函数原型:
uint32_t GetNumClasses() const
参数说明:
PushDetectionOutputParam¶
函数功能:
设置一组后处理参数,每组参数对应一个Proposal处理。
函数原型:
void PushDetectionOutputParam(const DetectionOutputParam &detectionOutputParam)
参数说明:
SetDetectionOutputParamVec¶
函数功能:
一次性设置多组后处理参数,每组参数对应一个Proposal处理。
函数原型:
void SetDetectionOutputParamVec(const vector<DetectionOutputParam> &detectionOutputParamVec)
参数说明:
多组后处理参数构成的队列。参数使用DetectionOutputParam结构体表征,每组参数对应一个Proposal处理。 |
GetDetectionOutputParamVec¶
函数功能:
获取多组后处理参数,每组参数对应一个Proposal处理。
函数原型:
const vector<DetectionOutputParam>& GetDetectionOutputParamVec() const
参数说明:
多组后处理参数构成的队列。参数使用DetectionOutputParam结构体表征,每组参数对应一个Proposal处理。 |
BiasOperator配置接口¶
SetAxis接口参考SetAxis章节,其默认值为1。
SetBiasNumAxes¶
函数功能:
配置参与运算的维度数量,与SetAxis配合使用。
函数原型:
void SetBiasNumAxes(int32_t value)
参数说明:
GetBiasNumAxes¶
函数功能:
获取参与运算的维度数量,与SetAxis配合使用。
函数原型:
int32_t GetBiasNumAxes() const
参数说明:
SetBiasPtr¶
函数功能:
配置偏移量数据的指针,要求配置偏移量数据的大小要与SetBiasShapeVec设置的shape包含的数据量大小保持一致。
函数原型:
void SetBiasPtr(const float *ptr)
参数说明:
GetBiasPtr¶
函数功能:
获取偏移量数据的指针。
函数原型:
const float* GetBiasPtr() const
参数说明:
SetBiasShapeVec¶
函数功能:
配置偏移量参数的shape。
函数原型:
void SetBiasShapeVec(const vector<int32_t> &shape)
参数说明:
GetBiasShapeVec¶
函数功能:
获取偏移量参数的shape。
函数原型:
const vector<int32_t>& GetBiasShapeVec() const
参数说明:
ConcatOperator配置接口¶
SetAxis接口参考SetAxis章节,其默认值为1。
CropOperator配置接口¶
SetAxis接口参考部分算子通用接口章节,其默认值为1。
SetOrigOffsetVec¶
函数功能:
配置所有轴方向上的偏移量值。
函数原型:
void SetOrigOffsetVec(const vector<uint32_t> &offsetVec)
参数说明:
GetOrigOffsetVec¶
函数功能:
获取所有轴方向上的偏移量值。
函数原型:
const vector<uint32_t>& GetOrigOffsetVec() const
参数说明:
AddOrigOffset¶
函数功能:
添加一个轴方向上的偏移量值。
函数原型:
void AddOrigOffset(uint32_t offset)
参数说明:
PreprocessOperator配置接口¶
SetShapeParamVec¶
函数功能:
配置输入数据的shape信息。
函数原型:
void SetShapeParamVec(const vector<int32_t> &shapeParamVec)
参数说明:
GetShapeParamVec¶
函数功能:
获取输入数据的shape信息。
函数原型:
const vector<int32_t>& GetShapeParamVec() const
参数说明:
AddShapeParam¶
函数功能:
添加一组输入数据对的维度dim值。
函数原型:
void AddShapeParam(int32_t shapeParam)
参数说明:
SetPreprocessScale¶
函数功能:
配置AAPP所有图像通道的scale参数。通道数需要与SetPreprocessMean相同,与SetModelFormat对应的图像格式通道数相同。
函数原型:
void SetPreprocessScale(const vector<float> preprocessScale)
参数说明:
GetPreprocessScale¶
函数功能:
获取AAPP所有图像通道的scale参数。通道数需要与SetPreprocessMean相同,与SetModelFormat对应的图像格式通道数相同。
函数原型:
const vector<float> GetPreprocessScale() const
参数说明:
SetPreprocessMean¶
函数功能:
配置AAPP所有图像通道的mean参数。通道数需要与SetPreprocessScale相同,与SetModelFormat对应的图像格式通道数相同。
函数原型:
void SetPreprocessMean(const vector<float> preprocessMean)
参数说明:
GetPreprocessMean¶
函数功能:
获取AAPP所有图像通道的mean参数。通道数需要与SetPreprocessScale相同,与SetModelFormat对应的图像格式通道数相同。
函数原型:
const vector<float> GetPreprocessMean() const
参数说明:
SetInputFormat¶
函数功能:
配置AAPP输入图像格式参数。
函数原型:
void SetInputFormat(const ImageType inputFormat)
参数说明:
GetInputFormat¶
函数功能:
获取AAPP输入图像格式参数。
函数原型:
const ImageType GetInputFormat() const
参数说明:
SetModelFormat¶
函数功能:
配置AAPP模型训练与执行时图像通道排布顺序。
函数原型:
void SetModelFormat(const RgbxOrderType modelFormat)
参数说明:
GetModelFormat¶
函数功能:
获取AAPP模型训练与执行时图像通道排布顺序。
函数原型:
const RgbxOrderType GetModelFormat() const
参数说明:
ReshapeOperator配置接口¶
SetAxis接口参考SetAxis章节,其默认值为1。
须知: 当axis<0时,实际起始维度为axis+1。如当shape=NCHW时,axis=-2,意味着仅对W轴reshape。
SetReshapeNumAxes¶
函数功能:
设置计算从输入shape的axis开始做几个维度的reshape。
函数原型:
void SetReshapeNumAxes(int32_t reshapeNumAxes)
参数说明:
GetReshapeNumAxes¶
函数功能:
获取计算输出Shape的维度数。
函数原型:
int32_t GetReshapeNumAxes() const
参数说明:
SetReshapeDimVec¶
函数功能:
配置输出的维度shape信息。
函数原型:
void SetReshapeDimVec(const vector<int32_t> &reshapeDimVec)
参数说明:
GetReshapeDimVec¶
函数功能:
获取输出的维度shape信息。
函数原型:
const vector<int32_t>& GetReshapeDimVec() const
参数说明:
AddReshapeDim¶
函数功能:
添加输出数据一个维度的维度dim值。
函数原型:
void AddReshapeDim(int32_t reshapeDim)
参数说明:
FlattenOperator配置接口¶
SetFlattenStartAxis¶
函数功能:
配置flatten的开始轴。
函数原型:
void SetFlattenStartAxis(int32_t flattenStartAxis)
参数说明:
GetFlattenStartAxis¶
函数功能:
获取flatten的开始轴。
函数原型:
int32_t GetFlattenStartAxis() const
参数说明:
SetFlattenEndAxis¶
函数功能:
配置flatten的结束轴。
函数原型:
void SetFlattenEndAxis(int32_t flattenEndAxis)
参数说明:
GetFlattenEndAxis¶
函数功能:
获取flatten的结束轴。
函数原型:
int32_t GetFlattenEndAxis() const
参数说明:
ShuffleChannelOperator配置接口¶
SetShuffleChannelGroup¶
函数功能:
配置通道分组数。
函数原型:
void SetShuffleChannelGroup(int32_t group)
参数说明:
GetShuffleChannelGroup¶
函数功能:
获取通道分组数。
函数原型:
int32_t GetShuffleChannelGroup() const
参数说明:
SliceOperator配置接口¶
SetAxis接口参考SetAxis章节,其默认值为1。
SetSliceDim¶
函数功能:
配置切分沿哪个轴进行。
函数原型:
void SetSliceDim(uint32_t sliceDim)
参数说明:
GetSliceDim¶
函数功能:
获取切分沿哪个轴进行。
函数原型:
uint32_t GetSliceDim() const
参数说明:
SetSlicePointVec¶
函数功能:
配置输出数据的各个切割点。
函数原型:
void SetSlicePointVec(const vector<uint32_t> &slicePointVec)
参数说明:
GetSlicePointVec¶
函数功能:
获取输出数据的各个切割点。
函数原型:
const vector<uint32_t>& GetSlicePointVec() const
参数说明:
AddSlicePoint¶
函数功能:
添加输出数据一个切割点。
函数原型:
void AddSlicePoint(uint32_t slicePoint)
参数说明:
SplitOperator配置接口¶
无参数配置。
ExtractOperator配置接口¶
SetAxis接口参考SetAxis章节,其默认值为1。
SetSliceDim¶
函数功能:
配置切分沿哪个轴进行。
函数原型:
void SetSliceDim(uint32_t sliceDim)
参数说明:
GetSliceDim¶
函数功能:
获取切分沿哪个轴进行。
函数原型:
uint32_t GetSliceDim() const
参数说明:
SetSlicePointBegin¶
函数功能:
配置切割的开始位置。
函数原型:
void SetSlicePointBegin(uint32_t slicePointBegin)
参数说明:
GetSlicePointBegin¶
函数功能:
获取切割的开始位置。
函数原型:
uint32_t GetSlicePointBegin() const
参数说明:
SetSlicePointEnd¶
函数功能:
配置切割的结束位置。
函数原型:
void SetSlicePointEnd(uint32_t slicePointEnd)
参数说明:
GetSlicePointEnd¶
函数功能:
获取切割的结束位置。
函数原型:
uint32_t GetSlicePointEnd() const
参数说明:
TileOperator配置接口¶
SetAxis接口参考SetAxis章节,其默认值为1。
SetTileTiles¶
函数功能:
配置扩展的倍数。与SetAxis配合使用。与SetTileRepeats不同时使用。
函数原型:
void SetTileTiles(int32_t tileTiles)
参数说明:
扩展的倍数,比如输入shape [n,c,h,w],axis=2,tileTiles =3,那么输出shape [n,c,3*h,w]。 |
GetTileTiles¶
函数功能:
获取扩展的倍数。与SetAxis配合使用。与SetTileRepeats不同时使用。
函数原型:
int32_t GetTileTiles() const
参数说明:
扩展的倍数,比如输入shape [n,c,h,w],axis=2,tileTiles =3,那么输出shape [n,c,3*h,w]。 |
SetTileRepeats¶
函数功能:
配置在各个维度上的扩展倍数。与SetAxis、SetTileTiles不同时使用。
函数原型:
void SetTileRepeats(vector<int64_t> tileRepeats)
参数说明:
GetTileRepeats¶
函数功能:
获取在各个维度上的扩展倍数。与SetAxis、SetTileTiles不同时使用。
函数原型:
vector<int64_t> GetTileRepeats() const
参数说明:
PermuteOperator配置接口¶
SetOutputDimOrderFormat¶
函数功能:
配置维度顺序格式的转换类型。
函数原型:
void SetOutputDimOrderFormat(DimOrderFormat format)
参数说明:
GetOutputDimOrderFormat¶
函数功能:
获取维度顺序格式的转换类型。
函数原型:
DimOrderFormat GetOutputDimOrderFormat() const
参数说明:
SetOutputDimOrder¶
函数功能:
配置输出维度顺序。
函数原型:
void SetOutputDimOrder(const vector<uint32_t> &permuteOrder)
参数说明:
GetOutputDimOrder¶
函数功能:
获取输出维度顺序。
函数原型:
const vector<uint32_t>& GetOutputDimOrder() const
参数说明:
BnllOperator配置接口¶
无参数配置。
LogOperator配置接口¶
SetLogBase¶
函数功能:
配置底数的值。
函数原型:
void SetLogBase(float logBase)
参数说明:
GetLogBase¶
函数功能:
获取底数的值。
函数原型:
float GetLogBase() const
参数说明:
SetLogScale¶
函数功能:
配置缩放系数的值。
函数原型:
void SetLogScale(float logScale)
参数说明:
GetLogScale¶
函数功能:
获取缩放系数的值。
函数原型:
float GetLogScale() const
参数说明:
SetLogShift¶
函数功能:
配置偏移量的值。
函数原型:
void SetLogShift(float logShift)
参数说明:
GetLogShift¶
函数功能:
获取偏移量的值。
函数原型:
float GetLogShift() const
参数说明:
AbsvalOperator配置接口¶
无参数配置。
EluOperator配置接口¶
SetEluAlpha¶
函数功能:
配置Alpha系数的值。
函数原型:
void SetEluAlpha(float eluAlpha)
参数说明:
GetEluAlpha¶
函数功能:
获取Alpha系数的值。
函数原型:
float GetEluAlpha() const
参数说明:
SigmoidOperator配置接口¶
无参数配置。
TanhOperator配置接口¶
无参数配置。
HswishOperator配置接口¶
SetHswishSlope¶
函数功能:
配置斜率值。
函数原型:
void SetHswishSlope(float slope)
参数说明:
GetHswishSlope¶
函数功能:
获取斜率值。
函数原型:
float GetHswishSlope() const
参数说明:
PreluOperator配置接口¶
SetAlphaNegVec¶
函数功能:
设置所有通道的斜率数据。
函数原型:
void SetAlphaNegVec(const vector<float> &vec)
参数说明:
GetAlphaNegVec¶
函数功能:
获取所有通道的斜率数据。
函数原型:
const vector<float>& GetAlphaNegVec() const
参数说明:
PushAlphaNegVec¶
函数功能:
添加一组斜率数据。
函数原型:
void PushAlphaNegVec(float value)
参数说明:
ReluOperator配置接口¶
SetAlpha¶
函数功能:
设置斜率数据。
函数原型:
void SetAlpha(float alpha)
参数说明:
GetAlpha¶
函数功能:
获取斜率数据。
函数原型:
float GetAlpha() const
参数说明:
ClipOperator配置接口¶
SetClipCeil¶
函数功能:
配置截取的上阈值。
函数原型:
void SetClipCeil(float value)
参数说明:
GetClipCeil¶
函数功能:
获取截取的上阈值。
函数原型:
float GetClipCeil() const
参数说明:
SetClipFloor¶
函数功能:
配置截取的下阈值。
函数原型:
void SetClipFloor(float value)
参数说明:
GetClipFloor¶
函数功能:
获取截取的下阈值。
函数原型:
float GetClipFloor() const
参数说明:
ConstantOfShapeOperator配置接口¶
该算子不能作为网络输出层。
SetValue¶
函数功能:
配置设置的数值。
函数原型:
void SetValue(float val)
参数说明:
GetValue¶
函数功能:
获取设置的数值。
函数原型:
float GetValue() const
参数说明:
SetShape¶
函数功能:
设置维度尺寸shape。
函数原型:
void SetShape(const vector<int32_t> &shape)
参数说明:
GetShape¶
函数功能:
获取维度尺寸shape。
函数原型:
const vector<int32_t>& GetShape() const
参数说明:
ShapeOperator配置接口¶
无参数配置。该算子不能作为网络输出层。
SqueezeOperator配置接口¶
SetSqueezeAxisVec¶
函数功能:
配置需要压缩删除的轴。
函数原型:
void SetSqueezeAxisVec(const vector<int32_t> &squeezeDimVec)
参数说明:
GetSqueezeAxisVec¶
函数功能:
获取需要压缩删除的轴。
函数原型:
const vector<int32_t>& GetSqueezeAxisVec() const
参数说明:
UnsqueezeOperator配置接口¶
SetUnsqueezeAxisVec¶
函数功能:
配置需要插入轴的位置。
函数原型:
void SetUnsqueezeAxisVec(const vector<int32_t> &unsqueezeDimVec)
参数说明:
GetUnsqueezeAxisVec¶
函数功能:
获取需要插入轴的位置。
函数原型:
const vector<int32_t>& GetUnsqueezeAxisVec() const
参数说明:
CustomOperator配置接口¶
SetExtendedOpType¶
函数功能:
配置当前自定义算子的类型名称。
函数原型:
void SetExtendedOpType(string extendedOpType)
参数说明:
GetExtendedOpType¶
函数功能:
获取当前自定义算子的类型名称。
函数原型:
string GetExtendedOpType() const
参数说明:
SetExtendedAttrs¶
函数功能:
配置自定义算子的全部扩展属性。
函数原型:
void SetExtendedAttrs(const vector<ExtendedAttr> &extendedAttrs)
参数说明:
GetExtendedAttrs¶
函数功能:
获取自定义算子的全部扩展属性。
函数原型:
const vector<ExtendedAttr>& GetExtendedAttrs() const
参数说明:
MishOperator配置接口¶
无参数配置。
AcoshOperator配置接口¶
无参数配置。
AtanhOperator配置接口¶
无参数配置。
CoshOperator配置接口¶
无参数配置。
HardSigmoidOperator配置接口¶
SetHardSigmoidAlpha¶
函数功能:
配置Alpha系数的值。
函数原型:
void SetHardSigmoidAlpha(float alpha)
参数说明:
GetHardSigmoidAlpha¶
函数功能:
返回配置的Alpha系数的值。
函数原型:
float GetHardSigmoidAlpha() const
参数说明:
SetHardSigmoidBeta¶
函数功能:
配置Beta系数的值。
函数原型:
void SetHardSigmoidBeta(float beta)
参数说明:
GetHardSigmoidBeta¶
函数功能:
返回配置的Beta系数的值。
函数原型:
float GetHardSigmoidBeta() const
参数说明:
MaxUnPoolOperator配置接口¶
SetKernelShapeVec¶
函数功能:
配置内核数据的所有Shape信息。
函数原型:
void SetKernelShapeVec(constvector<int32_t>& kernelshapevec)
参数说明:
PushKernelShape¶
函数功能:
添加内核数据的一个shape维度数据。
函数原型:
void PushKernelShape(int32_t val)
参数说明:
GetKernelShapeVec¶
函数功能:
获取配置内核数据的所有Shape信息。
函数原型:
const vector<int32_t>& GetKernelShapeVec() const
参数说明:
SetPadsVec¶
函数功能:
配置输入的所有pad信息。
函数原型:
void SetPadsVec(const vector<int32_t>& padsvec)
参数说明:
PushPads¶
函数功能:
添加输入的一个pad数据。
函数原型:
void PushPads(int32_t val)
参数说明:
GetPadsVec¶
函数功能:
获取配置内核数据的所有pad信息队列。
函数原型:
const vector<int32_t>& GetPadsVec() const
参数说明:
SetStridesVec¶
函数功能:
配置输入的所有stride信息。
函数原型:
void SetStridesVec(const vector<int32_t>& stridesvec)
参数说明:
PushStrides¶
函数功能:
添加输入的一个stride数据。
函数原型:
void PushStrides(int32_t val)
参数说明:
GetStridesVec¶
函数功能:
获取配置内核数据的所有stride信息。
函数原型:
const vector<int32_t>& GetStridesVec() const
参数说明:
GetGlobalPoolingFlag¶
函数功能:
获取GlobalPooling信息。
函数原型:
bool GetGlobalPoolingFlag() const;
参数说明:
SetGlobalPoolingFlag¶
函数功能:
设置GlobalPooling信息。
函数原型:
void SetGlobalPoolingFlag(bool globalPoolingFlag);
参数说明:
ShrinkOperator配置接口¶
SetShrinkBias¶
函数功能:
配置输出数据的偏移信息。
函数原型:
void SetShrinkBias(float bias)
参数说明:
GetShrinkBias¶
函数功能:
获取配置输出数据的偏移信息。
函数原型:
float GetShrinkBias() const
参数说明:
SetShrinkLambd¶
函数功能:
配置Shrink公式的lambd值。
函数原型:
void SetShrinkLambd(float lambd)
参数说明:
GetShrinkLambd¶
函数功能:
获取配置Shrink公式的lambd值。
函数原型:
float GetShrinkLambd() const
参数说明:
SoftSignOperator配置接口¶
无参数配置。
PadOperator配置接口¶
SetPadMode¶
函数功能:
设置pad模式,目前支持"constant"、"reflect"、"edge"三种模式。
函数原型:
void SetPadMode(PadMode mode)
参数说明:
|
constant 填充由常量值指定的给定常量值(默认为0、空字符串或False); |
GetPadMode¶
函数功能:
获取设置的pad模式,目前支持"constant"、"reflect"、"edge"三种模式。
函数原型:
PadMode GetPadMode() const
参数说明:
|
constant 填充由常量值指定的给定常量值(默认为0、空字符串或False); |
SetPadsLocVec¶
函数功能:
配置所有填充或删除的起始与结束轴列。
函数原型:
void SetPadsLocVec(const vector<int32_t>& padslocvec)
参数说明:
PushPadsLoc¶
函数功能:
添加一个填充或删除的起始与结束轴列。
函数原型:
void PushPadsLoc(int32_t val)
参数说明:
GetPadsLocVec¶
函数功能:
获取配置内核数据的所有stride信息。
函数原型:
const vector<int32_t>& GetPadsLocVec() const
参数说明:
SetPadValue¶
函数功能:如果mode为"constant"时,配置填充的值。
函数原型:
void SetPadValue(float val)
参数说明:
GetPadValue¶
函数功能:
获取如果mode为"constant"时,配置填充的值。
函数原型:
float GetPadValue() const
参数说明:
SqrtOperator配置接口¶
无参数配置。
AcosOperator配置接口¶
无参数配置。
AsinhOperator配置接口¶
无参数配置。
BitShiftOperator配置接口¶
SetBitShiftDirection¶
函数功能:
配置BitShift移位的方向,目前支持“BIT_SHIFT_LEFT”和“IT_SHIFT_RIGHT”两种。
函数原型:
void SetBitShiftDirection(BitShiftDirection direction)
参数说明:
GetBitShiftDirection¶
函数功能:
获取配置BitShift移位的方向。
函数原型:
BitShiftDirection GetBitShiftDirection() const
参数说明:
GatherElementsOperator配置接口¶
SetGatherElementsAxis¶
函数功能:
配置gather的轴。
函数原型:
void SetGatherElementsAxis(int32_t axis)
参数说明:
GetGatherElementsAxis¶
函数功能:
获取配置gather的轴。
函数原型:
int32_t GetGatherElementsAxis() const
参数说明:
HardMaxOperator配置接口¶
SetHardmaxAxis¶
函数功能:
配置Hardmax的运算轴。
函数原型:
void SetHardmaxAxis(int32_t axis)
参数说明:
GetHardmaxAxis¶
函数功能:
获取配置Hardmax的运算轴。
函数原型:
int32_t GetHardmaxAxis() const
参数说明:
ModOperator配置接口¶
SetIsFmod¶
函数功能:
指示进行fmod还是integer mod。
函数原型:
void SetIsFmod(bool isFmod)
参数说明:
GetIsFmod¶
函数功能:
获取进行的是fmod还是integer mod。
函数原型:
bool GetIsFmod() const
参数说明:
SinhOperator配置接口¶
无参数配置。
CmpOperator配置接口¶
SetCompType¶
函数功能:
配置比较类型,目前支持"COND_GT"、"COND_EQ"、"COND_LT"、"COND_NE"、"COND_GE"、"COND_LE"六种。
函数原型:
void SetCompType(CompType compType )
参数说明:
GetCompType¶
函数功能:
获取配置的比较类型。
函数原型:
CompType GetCompType() const
参数说明:
LogicalOperator配置接口¶
SetLogicalOperator¶
函数功能:
配置逻辑运算类型,目前支持 "LOGICAL_AND"、"LOGICAL_OR"、"LOGICAL_XOR"、"LOGICAL_NOT" 四种。
函数原型:
void SetLogicalOperator(LogicalOp op)
参数说明:
GetLogicalOperator¶
函数功能:
获取配置的逻辑运算类型。
函数原型:
LogicalOp GetLogicalOperator() const
参数说明:
SwishOperator配置接口¶
SetSwishBeta¶
函数功能:
配置Swish算子中的scale系数Beta。
函数原型:
void SetSwishBeta(const float beta)
参数说明:
GetSwishBeta¶
函数功能:
获取Swish算子中的scale系数Beta。
函数原型:
float GetSwishBeta() const
参数说明:
SilenceOperator配置接口¶
无参数配置。
LayerNormOperator配置接口¶
SetAxis接口参考SetAxis章节,其默认值为3,不支持input,scale,bias全部离线场景。
SetEpsilon¶
函数功能:
Epsilon为了防止除零,默认值1e-5,可以配置。
函数原型:
void SetEpsilon(const float epsilon)
参数说明:
GetEpsilon¶
函数功能:
获取Epsilon值,为了防止除零,默认值1e-5。
函数原型:
float GetEpsilon() const
参数说明:
GroupNormOperator配置接口¶
SetGroupNum¶
函数功能:
设置运算的分组数量。
函数原型:
void SetGroupNum(const uint32_t groupNum)
参数说明:
GetGroupNum¶
函数功能:
获取运算的分组数量。
函数原型:
uint32_t GetGroupNum() const
参数说明:
SetEpsilon¶
函数功能:
Epsilon为了防止除零,默认值1e-5,可以配置。
函数原型:
void SetEpsilon(const float epsilon)
参数说明:
GetEpsilon¶
函数功能:
获取Epsilon值,为了防止除零,默认值1e-5。
函数原型:
float GetEpsilon() const
参数说明:
SetBiasShapeVec¶
函数功能:
配置权重数据的所有shape信息。
函数原型:
void SetBiasShapeVec(const vector<int32_t> &biasShapeVec)
参数说明:
AddBiasShape¶
函数功能:
添加权重数据的一个shape信息。
函数原型:
void AddBiasShape(const int32_t biasShape)
参数说明:
GetBiasShapeVec¶
函数功能:
获取偏移数据的所有shape信息。
函数原型:
const vector<int32_t>& GetBiasShapeVec() const
参数说明:
GemmOperator配置接口¶
SetAlpha¶
函数功能:
配置Gemm算子中的Alpha参数。
函数原型:
void SetAlpha(float alpha)
参数说明:
GetAlpha¶
函数功能:
获取Gemm算子中的Alpha参数。
函数原型:
float GetAlpha() const
参数说明:
SetBeta¶
函数功能:
配置Gemm算子中的Beta参数。
函数原型:
void SetBeta(float beta)
参数说明:
GetBeta¶
函数功能:
获取Gemm算子中的Beta参数。
函数原型:
float GetBeta() const
参数说明:
SetTransA¶
函数功能:
配置Gemm算子中的TransA参数。
函数原型:
void SetTransA(bool transA)
参数说明:
GetTransA¶
函数功能:
获取Gemm算子中的TransA参数。
函数原型:
bool GetTransA() const
参数说明:
SetTransB¶
函数功能:
配置Gemm算子中的TransB参数。
函数原型:
void SetTransB(bool transB)
参数说明:
GetTransB¶
函数功能:
获取Gemm算子中的TransB参数。
函数原型:
bool GetTransB() const
参数说明:
SetWeightBiasQuanted¶
函数功能:
Gemm的第二个和第三个参数是离线且满足转SVP NNN实现时,该接口用于说明离线参数是否是量化后的数据,true表示量化数据,false表示浮点数据。
函数原型:
void SetWeightBiasQuanted(bool isWeightBiasQuanted)
参数说明:
GetWeightBiasQuanted¶
函数功能:
Gemm的第二个和第三个参数是离线且满足转SVP NNN实现时,该接口用于获取离线参数是否是量化后的数据,true表示量化数据,false表示浮点数据。
函数原型:
bool GetWeightBiasQuanted() const
参数说明:
RoundOperator配置接口¶
SetRoundType¶
函数功能:
配置取整方式,目前支持"ROUND_CEIL"、"ROUND_FLOOR"、"ROUND_EVEN" 三种。
函数原型:
void SeRoundType(RoundType roundType)
参数说明:
GetRoundType¶
函数功能:
获取取整的类型。
函数原型:
RoundType GetRoundType() const
参数说明:
ArgminOperator配置接口¶
SetAxis接口参考SetAxis章节,其默认值为1。
SetArgMinAxis¶
函数功能:
配置当前算子的Axis属性值。
函数原型:
void SetArgMinAxis(const int32_t axis);
参数说明:
GetArgMinAxis¶
函数功能:
获取当前算子的Axis属性值。
函数原型:
const int32_t GetArgMinAxis() const;
参数说明:
SetKeepDims¶
函数功能:
配置输出是否需要保持维度数量不变。
函数原型:
void SetKeepDims(bool keepDims)
参数说明:
GetKeepDims¶
函数功能:
获取输出是否需要保持维度数量不变。
函数原型:
bool GetKeepDims() const
参数说明:
SetSelectLastIndex¶
函数功能:
当有多个相同的最小值时,配置输出的最小值索引对应的是否为最后一个最小值。
函数原型:
void SetSelectLastIndex(bool selectLastIndex)
参数说明:
GetSelectLastIndex¶
函数功能:
获取输出的最小值索引对应的是否为最后一个最小值。
函数原型:
bool GetSelectLastIndex() const
参数说明:
ExtractSlice配置接口¶
SetAxesVec¶
函数功能:
设置切割的维度。
函数原型:
void SetAxesVec(vector<int32_t> axesVec)
参数说明:
PushAxes¶
函数功能:
逐个设置切割的维度。
函数原型:
void PushAxes(int32_t axes)
参数说明:
GetAxesVec¶
函数功能:
获取切割的维度。
函数原型:
const vector<int32_t> &GetAxesVec()
参数说明:
SetStartsVec¶
函数功能:
设置切割的起始位置。
函数原型:
void SetStartsVec(vector<int32_t> startsVec)
参数说明:
PushStarts¶
函数功能:
逐个设置切割的起始位置。
函数原型:
void PushStarts(int32_t starts)
参数说明:
GetStartsVec¶
函数功能:
获取切割的起始位置。
函数原型:
const vector<int32_t> &GetStartsVec()
参数说明:
SetEndsVec¶
函数功能:
设置切割的结束位置。
函数原型:
void SetEndsVec(vector<int32_t> endsVec)
参数说明:
PushEnds¶
函数功能:
逐个设置切割的结束位置。
函数原型:
void PushEnds(int32_t ends)
参数说明:
GetEndsVec¶
函数功能:
获取切割的结束位置。
函数原型:
const vector<int32_t> &GetEndsVec()
参数说明:
SetStepsVec¶
函数功能:
设置切割的步长。
函数原型:
void SetStepsVec(vector<int32_t> stepsVec)
参数说明:
PushSteps¶
函数功能:
逐个设置切割的步长。
函数原型:
void PushSteps(int32_t steps)
参数说明:
GetStepsVec¶
函数功能:
获取切割的步长。
函数原型:
const vector<int32_t> &GetStepsVec()
参数说明:
DepthToSpace配置接口¶
SetBlockSize¶
函数功能:
配置取空间的大小
函数原型:
void SetBlockSize(uint32_t blockSize)
参数说明:
GetBlockSize¶
函数功能:
获取取空间的大小
函数原型:
uint32_t GetBlockSize() const
参数说明:
SetModeType¶
函数功能:
配置取空间的大小
函数原型:
void SetModeType(DepthToSpaceModeType modeType)
参数说明:
GetModeType¶
函数功能:
获取取空间的大小
函数原型:
DepthToSpaceModeType GetModeType() const
参数说明:
TopK配置接口¶
SetAxis¶
函数功能:
配置排序的维度
函数原型:
void SetAxis(int32_t axis)
参数说明:
GetAxis¶
函数功能:
获取排序的维度
函数原型:
int32_t GetAxis() const
参数说明:
SetLargest¶
函数功能:
配置是否返回最大或最小的元素
函数原型:
void SetLargest(int32_t largest)
参数说明:
GetLargest¶
函数功能:
获取排序的维度
函数原型:
int32_t GetLargest() const
参数说明:
SetSorted¶
函数功能:
配置是否返回排好序的元素
函数原型:
void SetSorted(int32_t sorted)
参数说明:
GetSorted¶
函数功能:
获取排序的维度
函数原型:
int32_t GetLargest() const
参数说明:
Expand配置接口¶
SetExpandShape¶
函数功能:
设置输出形状 。
函数原型:
void SetExpandShape(const vector<int64_t> &shape)
参数说明:
GetExpandShape¶
函数功能:
获取输出形状。
函数原型:
vector<int64_t> GetExpandShape() const
参数说明:
SignOperator配置接口¶
无参数配置。
ErfOperator配置接口¶
无参数配置
GeluOperator配置接口¶
SetApproximationName¶
函数功能:
设置Gelu近似算法名称。
函数原型:
void SetApproximationName(const string &approximationName)
参数说明:
|
GetApproximationName¶
函数功能:
获取近似算法名称 。
函数原型:
string GetApproximationName() const
参数说明:
WarpOperator配置接口¶
无参数配置
SinOperator配置接口¶
无参数配置
CosOperator配置接口¶
无参数配置
NegOperator配置接口¶
无参数配置
LayerNorm2配置接口¶
LayerNorm2接口继承LayerNorm,区别在于LayerNorm支持的归一化维度为W,HW,CHW;而LayerNorm2支持的归一化维度为W,C。
GenerateModelAPI说明¶
概览¶
GenerateModelAPI提供与ATC工具相似的功能,用于将构造好的模型图结构转换为om模型及输出信息,该模型可以被端侧硬件加速器SDK识别,用于模型推理计算。其与ATC工具的主要差异:
GenerateModelAPI的模型来源于构图接口生成的graph队列,而不是caffe或onnx模型文件。
作为函数接口,配置信息无法以命令行的形式传递,而是采用文件路径、字符串、map参数表的形式实现配置,其具体配置项与功能和ATC工具一致。
最终编译生成的om二进制模型信息不一定单独生成文件,也可以通过内存直接返回给调用者,并同时附带输入输出节点的基本信息,便于上层框架对其进行封装。
使用限制:与ATC工具一样,不支持多线程调用。
转换接口¶
GenerateModelBinary¶
函数功能:
基于cfg配置文件和graph队列完成编译转换,生成om模型文件或在内存中获取到om数据。
函数原型:
bool GenerateModelBinary(const char *cfgFile, vector<unique_ptr<BaseOperator>> &operatorVec, ModelCoreInfo *modelCoreInfo)
参数说明:
编译生成的om模型数据的核心信息,包含om数据在内存中的指针与长度,还有输入节点与输出节点的名称,shape与数据类型信息。由ModelCoreInfo结构表征,其内存由用户创建和维护。 |
GenerateModelBinaryWithCfgMap¶
函数功能:
基于cfg map配置列表和graph队列完成编译转换,生成om模型文件或在内存中获取到om数据。
函数原型:
bool GenerateModelBinaryWithCfgMap(const map<string, string> &cfgMap, vector<unique_ptr<BaseOperator>> &operatorVec, ModelCoreInfo *modelCoreInfo)
参数说明:
保存配置信息的map列表,属性与键值都采用字符串的形式。属性和键值的名称与含义与GenerateModelBinary接口一致。使用方法参考《ATC工具使用指南》。 |
||
编译生成的om模型数据的核心信息,包含om数据在内存中的指针与长度,还有输入节点与输出节点的名称、shape与数据类型信息。由ModelCoreInfo结构表征,其内存由用户创建和维护。 |
参考实现¶
简介¶
构图接口与转换接口的使用方式既简单又灵活,提供了多种量化参数配置方式和转换参数配置方式。为了方便用户使用,提供对应简单实现的代码示例,重点关注以下几点:
算子参数配置方式
量化信息配置方式
转换参数配置方式
自定义算子配置方式
实现代码¶
进入发布包SVP_NNN_PC_Vx.x.x.x/Sample目录,解压samples.tar.gz,解压后请参考samples/8_graph。






