前言

概述

本文用于指导开发人员,如何使用SVP ATC Graph接口构建网络模型,并将其转换成图像分析引擎支持的离线模型,模型转换过程中可以实现算子调度的优化、权值数据重排、内存使用优化等,可以脱离设备完成模型的预处理。

产品版本

与本文档相对应的产品版本如下。

产品名称

产品版本

SS928

V100

SS927

V100

读者对象

本文档主要适用于以下工程师:

  • 技术支持工程师

  • 软件开发工程师

掌握以下经验和技能可以更好地理解本文档。

  • 熟悉Linux基本命令。

  • 对机器学习、图像分析方法有一定的了解。

符号约定

在本文中可能出现下列标志,它们所代表的含义如下。

符号

说明

表示如不避免则将会导致死亡或严重伤害的具有高等级风险的危害。

表示如不避免则可能导致死亡或严重伤害的具有中等级风险的危害。

表示如不避免则可能导致轻微或中度伤害的具有低等级风险的危害。

用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。

“须知”不涉及人身伤害。

对正文中重点信息的补充说明。

“说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。

修改记录

文档版本

发布日期

修改说明

00B02

2025-12-08

第2次版本发布

3.3.6 ArgmaxOperator配置接口小节,删除部分节点,新增SetArgMaxAxis、GetArgMaxAxis。

3.3.77 ArgminOperator配置接口小节,删除部分节点,新增SetArgMinAxis、GetArgMinAxis。

00B01

2025-09-15

第1次版本发布

简介

功能架构

SVP ATC Graph功能架构如图1所示。从中可以看出,不局限于Caffe、Onnx等框架,用户可以通过开放的API接口进行构图,并编译为离线模型,用于在板端硬件加速处理器上进行离线推理。

图 1 SVP ATC Graph功能架构

运行流程

使用SVP ATC Graph进行模型转换的用户侧调用流程如图1所示。

图 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库文件。

构图与转换使用示例

  1. 构造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等。

  2. 构造全部算子节点,并依次插入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);
    
  3. 调用转换接口生成二进制模型文件。生成过程需要依赖前期构造的配置信息与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)

参数说明:

参数名

输入/输出

说明

opName

输入

本层算子的名称,需要保证唯一性,不可与其他算子名称或输入输出节点名称重复。

GetOpName

函数功能:

获取本层算子的名称,用于模型构建与优化编译过程中的对象识别,该名称需要保证唯一性,不可与其他算子名称或输入输出节点名称重复。

函数原型:

const std::string& GetOpName() const

参数说明:

参数名

输入/输出

说明

const std::string&

输出

本层算子的名称,需要保证唯一性,不可与其他算子名称或输入输出节点名称重复。

SetOpType

函数功能:

指定本层算子的类型。

函数原型:

void SetOpType(OpType opType)

参数说明:

参数名

输入/输出

说明

opType

输入

本层算子的类型,使用OpType枚举值表示,其可配置范围参考op_enum_public.h。

GetOpType

函数功能:

获取本层算子的类型。

函数原型:

OpType GetOpType() const

参数说明:

参数名

输入/输出

说明

OpType

输出

本层算子的类型,使用OpType枚举值表示,其可配置范围参考op_enum_public.h。

连接关系配置接口

AddInputName

函数功能:

添加一路输入算子的输出节点名称,即为本层算子添加一路输入连接。

函数原型:

void AddInputName(const std::string &name)

参数说明:

参数名

输入/输出

说明

name

输入

表示与之相连的前一路算子的输出名称,该名称具有唯一性。添加名称的顺序也代表了连接顺序,需要使用者保证顺序正确。

SetInputNamesVec

函数功能:

设置输入算子的输出节点名称集合,即一次性为本层算子添加多个输入连接。

函数原型:

void SetInputNamesVec(const std::vector<std::string> &inputNamesVec)

参数说明:

参数名

输入/输出

说明

inputNamesVec

输入集合

表示与之相连的多个输入节点算子的输出名称集合,这些名称具有唯一性。添加名称的顺序也代表了连接顺序,需要使用者保证顺序正确。

GetInputNamesVec

函数功能:

获取输入算子的输出节点名称集合,即一次性为本层算子添加多个输入连接。

函数原型:

const std::vector<std::string>& GetInputNamesVec() const

参数说明:

参数名

输入/输出

说明

const std::vector<std::string>&

输出

表示与之相连的多个输入节点算子的输出名称集合,这些名称具有唯一性。添加名称的顺序也代表了连接顺序,需要使用者保证顺序正确。

AddOutputName

函数功能:

添加一路输出算子的输入节点名称,即为本层算子添加一路输出连接。

函数原型:

void AddOutputName(const std::string &name)

参数说明:

参数名

输入/输出

说明

name

输入

表示与之相连的后一路算子的输入名称,该名称具有唯一性。添加名称的顺序也代表了连接顺序,需要使用者保证顺序正确。

SetOutputNamesVec

函数功能:

设置输出算子的输入节点名称集合,即一次性为本层算子添加多个输出连接。

函数原型:

void SetOutputNamesVec(const std::vector<std::string> &outputNamesVec)

参数说明:

参数名

输入/输出

说明

outputNamesVec

输出集合

表示与之相连的多个输出节点算子的输入名称集合,这些名称具有唯一性。添加名称的顺序也代表了连接顺序,需要使用者保证顺序正确。

GetOutputNamesVec

函数功能:

获取输出算子的输入节点名称集合,即一次性为本层算子添加多个输出连接。

函数原型:

const std::vector<std::string>& GetOutputNamesVec() const

参数说明:

参数名

输入/输出

说明

const std::vector<std::string>&

输出

表示与之相连的多个输出节点算子的输入名称集合,这些名称具有唯一性。添加名称的顺序也代表了连接顺序,需要使用者保证顺序正确。

量化因子配置接口

AddInputQuantFactor

函数功能:

添加一路输入数据的量化因子。

函数原型:

void AddInputQuantFactor(const OpQuantFactor &quantFactor)

参数说明:

参数名

输入/输出

说明

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)

参数说明:

参数名

输入/输出

说明

idx

输入

对应idx路输入数据,返回idx路输入数据的量化因子

OpQuantFactor

输出

对应一路输入数据的量化因子,其插入队列的顺序应当与输入节点的连接顺序一致。

AddOutputQuantFactor

函数功能:

添加一路输出数据的量化因子。

函数原型:

void AddOutputQuantFactor(const OpQuantFactor &quantFactor)

参数说明:

参数名

输入/输出

说明

quantFactor

输入

对应一路输出数据的量化因子,其插入队列的顺序应当与输出节点的连接顺序一致。

OpQuantFactor对象的定义参考AddInputQuantFactor。

GetOutputQuantFactor

函数功能:

获取一路输出数据的量化因子。

函数原型:

OpQuantFactor& GetOutputQuantFactor(uint32_t idx)

参数说明:

参数名

输入/输出

说明

idx

输入

对应idx路输出数据,返回idx路输出数据的量化因子

OpQuantFactor

输出

对应一路输出数据的量化因子,其插入队列的顺序应当与输出节点的连接顺序一致。

AddParamQuantFactor

函数功能:

添加一组参数数据的量化因子。仅Conv/Depthwiseconv/Deconv支持Perchannel量化,多组量化参数需要调用多次此接口添加。

函数原型:

void AddParamQuantFactor(const OpQuantFactor &quantFactor)

参数说明:

参数名

输入/输出

说明

quantFactor

输入

对应一组参数数据的量化因子。

OpQuantFactor对象的定义参考AddInputQuantFactor。

GetParamQuantFactor

函数功能:

获取一组参数数据的量化因子。

函数原型:

OpQuantFactor GetParamQuantFactor(uint32_t idx)

参数说明:

参数名

输入/输出

说明

idx

输入

对应idx路参数数据,返回idx路参数数据的量化因子

OpQuantFactor

输出

对应一组参数数据的量化因子

SetInputQuantFactorsVec

函数功能:

设置输入数据的量化因子集合。

函数原型:

void SetInputQuantFactorsVec(const std::vector<OpQuantFactor> &inputQuantFactorsVec)

参数说明:

参数名

输入/输出

说明

inputQuantFactorsVec

输入

表示多组输入数据量化因子集合。添加量化因子的顺序应当与输入节点的顺序一致。

OpQuantFactor对象的定义参考AddInputQuantFactor。

GetInputQuantFactorsVec

函数功能:

获取输入数据的量化因子集合。

函数原型:

const std::vector<OpQuantFactor>& GetInputQuantFactorsVec()

参数说明:

参数名

输入/输出

说明

const std::vector<OpQuantFactor>&

输出

表示多组输入数据量化因子集合。添加量化因子的顺序应当与输入节点的顺序一致。

SetOutputQuantFactorsVec

函数功能:

设置输出数据的量化因子集合。

函数原型:

void SetOutputQuantFactorsVec(const std::vector<OpQuantFactor> &outputQuantFactorsVec)

参数说明:

参数名

输入/输出

说明

outputQuantFactorsVec

输入

表示多组输出数据量化因子集合。添加量化因子的顺序应当与输出节点的顺序一致。

OpQuantFactor对象的定义参考AddInputQuantFactor。

GetOutputQuantFactorsVec

函数功能:

获取输出数据的量化因子集合。

函数原型:

const std::vector<OpQuantFactor>& GetOutputQuantFactorsVec()

参数说明:

参数名

输入/输出

说明

const std::vector<OpQuantFactor>&

输出

表示多组输出数据量化因子集合。添加量化因子的顺序应当与输出节点的顺序一致。

SetParamQuantFactorsVec

函数功能:

设置参数数据的量化因子集合。仅Conv/Depthwiseconv/Deconv支持Perchannel量化,设置多组量化因子。

函数原型:

void SetParamQuantFactorsVec(const std::vector<OpQuantFactor> &paramQuantFactorsVec)

参数说明:

参数名

输入/输出

说明

paramQuantFactorsVec

输入

表示多组参数数据量化因子集合。

OpQuantFactor对象的定义参考AddInputQuantFactor。

GetParamQuantFactorsVec

函数功能:

获取参数数据的量化因子集合。

函数原型:

const std::vector<OpQuantFactor> GetParamQuantFactorsVec()

参数说明:

参数名

输入/输出

说明

const std::vector<OpQuantFactor>&

输出

表示多组参数数据量化因子集合。

Conv/Depthwiseconv/Deconv/Fc通用接口

SetOutputChannel

函数功能:

配置算子输出数据通道数。

函数原型:

void SetOutputChannel(uint32_t outputChannel)

参数说明:

参数名

输入/输出

说明

outputChannel

输入

算子输出数据通道数。

GetOutputChannel

函数功能:

获取算子输出数据通道数。

函数原型:

uint32_t GetOutputChannel() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

算子输出数据通道数。

SetKernelHeight

函数功能:

配置卷积核或池化核高度。

函数原型:

void SetKernelHeight(uint32_t kernelHeight)

参数说明:

参数名

输入/输出

说明

kernelHeight

输入

算子卷积核高度。

GetKernelHeight

函数功能:

获取卷积核或池化核高度。

函数原型:

uint32_t GetKernelHeight() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

卷积核或池化核高度。

SetKernelWidth

函数功能:

配置卷积核或池化核宽度。

函数原型:

void SetKernelWidth(uint32_t kernelWidth)

参数说明:

参数名

输入/输出

说明

kernelWidth

输入

算子卷积核宽度。

GetKernelWidth

函数功能:

获取卷积核或池化核宽度。

函数原型:

uint32_t GetKernelWidth() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

卷积核或池化核宽度。

SetStrideHeight

函数功能:

配置高度方向上stride步长。

函数原型:

void SetStrideHeight(uint32_t strideHeight)

参数说明:

参数名

输入/输出

说明

strideHeight

输入

算子高度方向上stride步长。默认值为1。

GetStrideHeight

函数功能:

获取高度方向上stride步长。

函数原型:

uint32_t GetStrideHeight() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

算子高度方向上stride步长。默认值为1。

SetStrideWidth

函数功能:

配置宽度方向上stride步长。

函数原型:

void SetStrideWidth(uint32_t strideWidth)

参数说明:

参数名

输入/输出

说明

strideWidth

输入

宽度方向上stride步长。默认值为1。

GetStrideWidth

函数功能:

获取宽度方向上stride步长。

函数原型:

uint32_t GetStrideWidth() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

宽度方向上stride步长。默认值为1。

SetPadLeft

函数功能:

配置左侧pad补边宽度值。

函数原型:

void SetPadLeft(int32_t padLeft)

参数说明:

参数名

输入/输出

说明

padLeft

输入

算子左侧pad补边宽度值。默认值为0。

GetPadLeft

函数功能:

获取左侧pad补边宽度值。

函数原型:

int32_t GetPadLeft() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

算子左侧pad补边宽度值。默认值为0。

SetPadRight

函数功能:

配置右侧pad补边宽度值。

函数原型:

void SetPadRight(int32_t padRight)

参数说明:

参数名

输入/输出

说明

padRight

输入

算子右侧pad补边宽度值。默认值为0。

GetPadRight

函数功能:

获取右侧pad补边宽度值。

函数原型:

int32_t GetPadRight() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

算子右侧pad补边宽度值。默认值为0。

SetPadUp

函数功能:

配置上侧pad补边高度值。

函数原型:

void SetPadUp(int32_t padUp)

参数说明:

参数名

输入/输出

说明

padUp

输入

算子上侧pad补边高度值。默认值为0。

GetPadUp

函数功能:

获取上侧pad补边高度值。

函数原型:

int32_t GetPadUp() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

算子上侧pad补边高度值。默认值为0。

SetPadDown

函数功能:

配置下侧pad补边高度值。

函数原型:

void SetPadDown(int32_t padDown)

参数说明:

参数名

输入/输出

说明

padDown

输入

算子下侧pad补边高度值。默认值为0。

GetPadDown

函数功能:

获取下侧pad补边高度值。

函数原型:

int32_t GetOpName() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

算子下侧pad补边高度值。默认值为0。

SetDilationWidth

函数功能:

配置卷积膨胀宽度。

函数原型:

void SetDilationWidth(uint32_t dilationWidth)

参数说明:

参数名

输入/输出

说明

dilationWidth

输入

算子卷积膨胀宽度。默认值为1。

GetDilationWidth

函数功能:

获取卷积膨胀宽度。

函数原型:

uint32_t GetDilationWidth() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

算子卷积膨胀宽度。默认值为1。

SetDilationHeight

函数功能:

配置卷积膨胀高度。

函数原型:

void SetDilationHeight(uint32_t dilationHeight)

参数说明:

参数名

输入/输出

说明

dilationHeight

输入

算子卷积膨胀高度。默认值为1。

GetDilationHeight

函数功能:

获取卷积膨胀高度。

函数原型:

uint32_t GetDilationHeight() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

算子卷积膨胀高度。默认值为1。

SetWeightSize

函数功能:

权重数据的元素个数。

函数原型:

void SetWeightSize(uint32_t weightSize)

参数说明:

参数名

输入/输出

说明

weightSize

输入

算子权重数据的元素个数。

GetWeightSize

函数功能:

获取权重数据的元素个数。

函数原型:

uint32_t GetWeightSize() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

权重数据的元素个数。

SetBiasSize

函数功能:

偏移量数据的元素个数。

函数原型:

void SetBiasSize(uint32_t biasSize)

参数说明:

参数名

输入/输出

说明

biasSize

输入

算子偏移量数据的元素个数。默认值为0。

GetBiasSize

函数功能:

获取偏移量数据的元素个数。

函数原型:

uint32_t GetBiasSize() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

算子偏移量数据的元素个数。默认值为0。

SetWeightDataPtr

函数功能:

配置权重数据指针,数据为float格式。SetWeightDataPtr与SetWeightQuantPtr只能配置一个。

函数原型:

void SetWeightDataPtr(const float *weightDataPtr)

参数说明:

参数名

输入/输出

说明

weightDataPtr

输入

算子卷积权重数据指针,数据为float格式,对应非量化模式。

GetWeightDataPtr

函数功能:

获取权重数据指针,数据为float格式。SetWeightDataPtr与SetWeightQuantPtr只能配置一个。

函数原型:

const float* GetWeightDataPtr() const

参数说明:

参数名

输入/输出

说明

const float *

输出

算子卷积权重数据指针,数据为float格式,对应非量化模式。

SetWeightQuantPtr

函数功能:

配置量化权重数据指针,数据为int8格式,配套AddParamQuantFactor或SetParamQuantFactorsVec使用。SetWeightDataPtr与SetWeightQuantPtr只能配置一个。

函数原型:

void SetWeightQuantPtr(const int8_t *weightQuantPtr)

参数说明:

参数名

输入/输出

说明

weightQuantPtr

输入

算子卷积量化权重数据指针,数据为int8格式,对应量化模式。

GetWeightQuantPtr

函数功能:

获取量化权重数据指针,数据为int8格式,配套AddParamQuantFactor或SetParamQuantFactorsVec使用。SetWeightDataPtr与SetWeightQuantPtr只能配置一个。

函数原型:

const int8_t* GetWeightQuantPtr() const

参数说明:

参数名

输入/输出

说明

const int8_t *

输出

算子卷积量化权重数据指针,数据为int8格式,对应量化模式。

SetBiasDataPtr

函数功能:

配置偏移量数据指针,数据为float格式。SetBiasDataPtr与SetBiasQuantPtr只能配置一个。

函数原型:

void SetBiasDataPtr(const float *biasDataPtr)

参数说明:

参数名

输入/输出

说明

biasDataPtr

输入

卷积偏移量数据指针,数据为float格式,对应非量化模式。

GetBiasDataPtr

函数功能:

获取偏移量数据指针,数据为float格式。SetBiasDataPtr与SetBiasQuantPtr只能配置一个。

函数原型:

const float* GetBiasDataPtr() const

参数说明:

参数名

输入/输出

说明

const float *

输出

卷积偏移量数据指针,数据为float格式,对应非量化模式。

SetBiasQuantPtr

函数功能:

配置偏移量数据指针,数据为int32格式,配套AddParamQuantFactor或SetParamQuantFactorsVec使用。SetBiasDataPtr与SetBiasQuantPtr只能配置一个。

函数原型:

void SetBiasQuantPtr(const int32_t *biasQuantPtr)

参数说明:

参数名

输入/输出

说明

biasQuantPtr

输入

算子卷积偏移量数据指针,数据为int32格式,对应量化模式。

GetBiasQuantPtr

函数功能:

获取偏移量数据指针,数据为int32格式,配套AddParamQuantFactor或SetParamQuantFactorsVec使用。SetBiasDataPtr与SetBiasQuantPtr只能配置一个。

函数原型:

const int32_t* GetBiasQuantPtr() const

参数说明:

参数名

输入/输出

说明

const int32_t *

输出

算子卷积偏移量数据指针,数据为int32格式,对应量化模式。

SetAutoPadType

函数功能:

配置AutoPad的类型。

函数原型:

void SetAutoPadType(AutoPadType val)

参数说明:

参数名

输入/输出

说明

val

输入

AutoPadType的类型,通过AutoPadType枚举值配置,共有三种合法选项:

PAD_NOTSET、PAD_SAME_UPPER、PAD_SAME_LOWER、PAD_VALID

默认为PAD_NOTSET,即不开启。

GetAutoPadType

函数功能:

获取AutoPad的类型。

函数原型:

AutoPadType GetAutoPadType() const

参数说明:

参数名

输入/输出

说明

AutoPadType

输出

AutoPadType的类型,通过AutoPadType枚举值配置,共有三种合法选项:

PAD_NOTSET、PAD_SAME_UPPER、PAD_SAME_LOWER、PAD_VALID

默认为PAD_NOTSET,即不开启。

SetGroup

函数功能:

配置卷积输入通道分组个数。

函数原型:

void SetGroup(uint32_t val)

参数说明:

参数名

输入/输出

说明

val

输入

算子卷积输入通道分组个数。默认为1。

GetGroup

函数功能:

获取卷积输入通道分组个数。

函数原型:

uint32_t GetGroup() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

算子卷积输入通道分组个数。默认为1。

离线输入配置接口

PushOfflineArgs

函数功能:

添加一路离线输入信息,包含数据与shape。添加的顺序需要与输入节点的顺序一致,在线数据不可跳过,入参配置为空pair。

函数原型:

void PushOfflineArgs(const pair<vector<float>, vector<int32_t>> &&vec)

参数说明:

参数名

输入/输出

说明

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)

参数说明:

参数名

输入/输出

说明

i

输入

返回第i路离线信息

pair<vector<float>, vector<int32_t>>&

输出

一路离线输入信息。Pair对应具体数据队列与shape队列。如果对应的输入表示在线输入,需要把pair配置为空实现,即其first与second对应的vector的size为0。

GetAllOfflineArgs

函数功能:

获取所有离线输入信息。添加的顺序需要与输入节点的顺序一致,在线数据不可跳过,入参配置为空pair。

函数原型:

vector<pair<vector<float>, vector<int32_t>>>& GetAllOfflineArgs()

参数说明:

参数名

输入/输出

说明

vector<pair<vector<float>, vector<int32_t>>>&

输出

所有离线输入信息。Pair对应具体数据队列与shape队列。如果对应的输入表示在线输入,需要把pair配置为空实现,即其first与second对应的vector的size为0。

部分算子通用接口

SetAxis

函数功能:

配置算子的计算轴。(或开始计算的轴)

函数原型:

void SetAxis(int32_t axis)

参数说明:

参数名

输入/输出

说明

axis

输入

算子计算所沿的轴方向,其值代表输入数据Tenser的维度角标。

以shape为[N,C,H,W]的4维数据为例,N对应的轴axis值为0或-4,C对应的轴axis值为1或-3,H对应的轴axis值为2或-2,W对应的轴axis值为3或-1。

  • 针对CropOperator,其默认值为2。
  • 针对ReshapeOperator、GatherOperator,其默认值为0。
  • 针对LayerNormOperator,其默认值为3。
  • 针对其他Operator,其默认值为1。

适用的算子包含: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

参数说明:

参数名

输入/输出

说明

int32_t

输出

算子计算所沿的轴方向,其值代表输入数据Tenser的维度角标。

以shape为[N,C,H,W]的4维数据为例,N对应的轴axis值为0或-4,C对应的轴axis值为1或-3,H对应的轴axis值为2或-2,W对应的轴axis值为3或-1。

  • 针对CropOperator,其默认值为2。
  • 针对ReshapeOperator、GatherOperator,其默认值为0。
  • 针对LayerNormOperator,其默认值为3。
  • 针对其他Operator,其默认值为1。

算子专用接口

FcOperator配置接口

SetFcTransposeFlag

函数功能:

配置参数转置开关。

函数原型:

void SetFcTransposeFlag(bool fcTransposeFlag)

参数说明:

参数名

输入/输出

说明

fcTransposeFlag

输入

参数转置开关。默认为false。

GetFcTransposeFlag

函数功能:

获取配置的参数转置开关。

函数原型:

bool GetFcTransposeFlag() const

参数说明:

参数名

输入/输出

说明

bool

输出

配置的参数转置开关。

SetNumOutput

函数功能:

配置Fc算子输出数据宽度,同时也对应权重数据的宽度(W方向的元素个数)。

函数原型:

void SetNumOutput(uint32_t numOutput)

参数说明:

参数名

输入/输出

说明

numOutput

输入

输出数据宽度(W方向的元素个数)。

GetNumOutput

函数功能:

获取配置的Fc算子输出数据宽度,同时也对应权重数据的宽度(W方向的元素个数)。

函数原型:

uint32_t GetNumOutput() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

获取配置的Fc算子输出数据宽度。

MatrixOperator配置接口

SetMatMulDim1

函数功能:

配置第一个input输入的行数(M值)。

函数原型:

void SetMatMulDim1(uint32_t dim)

参数说明:

参数名

输入/输出

说明

dim

输入

第一个input输入的行数(M值)。

GetMatMulDim1

函数功能:

获取配置的第一个input输入的行数(M值)。

函数原型:

uint32_t GetMatMulDim1() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

配置的第一个input输入的行数(M值)

SetMatMulDim2

函数功能:

配置第一个input输入的列数(K值)。

函数原型:

void SetMatMulDim2(uint32_t dim)

参数说明:

参数名

输入/输出

说明

dim

输入

  • 当transBFlag为true时,是第一个input输入的列数(K值),同时也是第二个input输入的列数;
  • 当transBFlag为false时,是第一个input输入的列数(K值),同时也是第二个input输入的行数。

GetMatMulDim2

函数功能:

获取配置第一个input输入的列数(K值)。

函数原型:

uint32_t GetMatMulDim2() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

  • 当transBFlag为true时,是第一个input输入的列数(K值),同时也是第二个input输入的列数;
  • 当transBFlag为false时,是第一个input输入的列数(K值),同时也是第二个input输入的行数。

SetMatMulDim3

函数功能:

配置第二个input输入的列数(N值)。

函数原型:

void SetMatMulDim3(uint32_t dim)

参数说明:

参数名

输入/输出

说明

dim

输入

  • 当transBFlag为true时,是第二个input输入的行数(N值);
  • 当transBFlag为false时,是第二个input输入的列数(N值)。

GetMatMulDim3

函数功能:

获取第二个input输入的列数(N值)。

函数原型:

uint32_t GetMatMulDim3() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

  • 当transBFlag为true时,是第二个input输入的行数(N值);
  • 当transBFlag为false时,是第二个input输入的列数(N值)。

SetTransBFlag

函数功能:

配置第二个输入转置开关。

函数原型:

void SetTransBFlag(bool transB)

参数说明:

参数名

输入/输出

说明

transB

输入

第二个输入转置开关。默认为true。

GetTransBFlag

函数功能:

获取第二个输入转置开关。

函数原型:

bool GetTransBFlag() const

参数说明:

参数名

输入/输出

说明

bool

输出

第二个输入转置开关。默认为true。

SetWeightQuanted

函数功能:

该接口用于说明权重是否是量化后的数据,true表示量化数据,false表示浮点数据。

函数原型:

void SetWeightQuanted(bool isWeightQuant)

参数说明:

参数名

输入/输出

说明

isWeightQuant

输入

用于配置权重是否是量化后的数据,默认false。

GetWeightQuanted

函数功能:

该接口用于获取权重是否是量化后的数据,true表示量化数据,false表示浮点数据。

函数原型:

bool GetWeightQuanted() const

参数说明:

参数名

输入/输出

说明

bool

输出

权重是否是量化后的数据。

PoolOperator配置接口

部分接口参考算子通用接口章节。使用SetOpType配置pool类型,支持POOLINGAVE、POOLINGMAX两种模式。使用SetKernelHeight、SetKernelWidth配置kernel尺寸。使用SetStrideHeight、SetStrideWidth配置stride值。使用SetPadLeft、SetPadRight、SetPadUp、SetPadDown配置pad值。

SetRoundMode

函数功能:

设置运算取整的方式,目前支持向上取整和向下取整两种。

函数原型:

void SetRoundMode(PoolingRoundMode roundMode)

参数说明:

参数名

输入/输出

说明

roundMode

输入

运算取整的方式:

POOLING_ROUND_MODE_CEIL 向上取整;

POOLING_ROUND_MODE_FLOOR 线下取整。

默认为POOLING_ROUND_MODE_CEIL。

GetRoundMode

函数功能:

获取运算取整的方式,目前支持向上取整和向下取整两种。

函数原型:

PoolingRoundMode GetRoundMode() const

参数说明:

参数名

输入/输出

说明

PoolingRoundMode

输出

运算取整的方式:

  • POOLING_ROUND_MODE_CEIL 向上取整;
  • POOLING_ROUND_MODE_FLOOR 线下取整。

默认为POOLING_ROUND_MODE_CEIL。

SetGlobalPoolingFlag

函数功能:

配置算子是否为GlobalPool,否则根据SetOpType配置的值为AvgPool(POOLINGAVE)或MaxPool(POOLINGMAX)。

函数原型:

void SetGlobalPoolingFlag(bool globalPoolingFlag)

参数说明:

参数名

输入/输出

说明

globalPoolingFlag

输入

算子是否为GlobalPool。默认为False。

GetGlobalPoolingFlag

函数功能:

获取算子是否为GlobalPool。

函数原型:

bool GetGlobalPoolingFlag() const

参数说明:

参数名

输入/输出

说明

bool

输出

获取算子是否为GlobalPool。

SetCountPadFlag

函数功能:

配置计算数值时是否需要计入pad部分。

函数原型:

void SetCountPadFlag(bool flag)

参数说明:

参数名

输入/输出

说明

flag

输入

计算数值时是否需要计入pad部分。默认为False。

GetCountPadFlag

函数功能:

获取计算数值时是否需要计入pad部分。

函数原型:

bool GetCountPadFlag() const

参数说明:

参数名

输入/输出

说明

bool

输出

计算数值时是否需要计入pad部分。默认为False。

RoiPoolOperator/PsRoiPoolOperator配置接口

SetRoiPooledHeight

函数功能:

配置Roi池化后输出数据的统一高度。

函数原型:

void SetRoiPooledHeight(uint32_t roiPooledHeight)

参数说明:

参数名

输入/输出

说明

roiPooledHeight

输入

输出数据的统一高度。

GetRoiPooledHeight

函数功能:

获取Roi池化后输出数据的统一高度。

函数原型:

uint32_t GetRoiPooledHeight() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

Roi池化后输出数据的统一高度。

SetRoiPooledWidth

函数功能:

配置Roi池化后输出数据的统一宽度。

函数原型:

void SetRoiPooledWidth(uint32_t roiPooledWidth)

参数说明:

参数名

输入/输出

说明

roiPooledWidth

输入

输出数据的统一宽度。

GetRoiPooledWidth

函数功能:

Roi池化后输出数据的统一宽度。

函数原型:

uint32_t GetRoiPooledWidth() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

Roi池化后输出数据的统一宽度。

SetRoiScale

函数功能:

配置从原始输入图像到roi输入特征图的尺寸缩放系数。

函数原型:

void SetRoiScale(float roiScale)

参数说明:

参数名

输入/输出

说明

roiScale

输入

从原始输入图像到roi输入特征图的尺寸缩放系数。其值等于:特征图尺寸/原始输入图像尺寸。默认为1.0。

GetRoiScale

函数功能:

获取从原始输入图像到roi输入特征图的尺寸缩放系数。

函数原型:

float GetRoiScale() const

参数说明:

参数名

输入/输出

说明

float

输出

从原始输入图像到roi输入特征图的尺寸缩放系数。

SetRoiPooledNum

函数功能:

配置输出特征图数量,对应输入roi的个数,同时也对应N值。

函数原型:

void SetRoiPooledNum(uint32_t roiPooledNum)

参数说明:

参数名

输入/输出

说明

roiPooledNum

输入

输出特征图数量,对应输入roi的个数,同时也对应N值。默认为1。

GetRoiPooledNum

函数功能:

获取输出特征图数量,对应输入roi的个数,同时也对应N值。

函数原型:

uint32_t GetRoiPooledNum() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

输出特征图数量,对应输入roi的个数,同时也对应N值。

SetPsroiSpatialScale

函数功能:

配置从原始输入图像到psroi输入特征图的尺寸缩放系数。仅PsRoiPoolOperator支持。

函数原型:

void SetPsroiSpatialScale(float spatialScale)

参数说明:

参数名

输入/输出

说明

spatialScale

输入

从原始输入图像到psroi输入特征图的尺寸缩放系数。其值等于:特征图尺寸/原始输入图像尺寸。

GetPsroiSpatialScale

函数功能:

获取从原始输入图像到psroi输入特征图的尺寸缩放系数。仅PsRoiPoolOperator支持。

函数原型:

float  GetPsroiSpatialScale() const

参数说明:

参数名

输入/输出

说明

float

输出

从原始输入图像到psroi输入特征图的尺寸缩放系数。仅PsRoiPoolOperator支持。

SetPsroiOutputDim

函数功能:

配置输出channel维度大小。仅PsRoiPoolOperator支持。

函数原型:

void SetPsroiOutputDim(int32_t outputDim)

参数说明:

参数名

输入/输出

说明

outputDim

输入

输出channel维度大小。

GetPsroiOutputDim

函数功能:

获取输出channel维度大小。仅PsRoiPoolOperator支持。

函数原型:

int32_t GetPsroiOutputDim() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

输出channel维度大小。仅PsRoiPoolOperator支持。

SetPsroiGroupSize

函数功能:

配置输出Feature的高和宽。仅PsRoiPoolOperator支持。

函数原型:

void SetPsroiGroupSize(int32_t groupSize)

参数说明:

参数名

输入/输出

说明

groupSize

输入

输出Feature的高和宽。

GetPsroiGroupSize

函数功能:

获取输出Feature的高和宽。仅PsRoiPoolOperator支持。

函数原型:

int32_t GetPsroiGroupSize() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

输出Feature的高和宽。仅PsRoiPoolOperator支持。

LstmOperator/ GruOperator/ RnnOperator配置接口

SetParserMode

函数功能:

配置解析模式,支持Caffe类型解析和Onnx类型解析,默认为Caffe,Onnx解析模式支持配置。

函数原型:

void SetParserMode(const RecurrentAbstractParserMode mode)

参数说明:

参数名

输入/输出

说明

mode

输入

解析模式类型,包含的类型有:

PARSER_CAFFE;

PARSER_ONNX;

PARSER_INVALID。

默认为PARSER_CAFFE。

GetParserMode

函数功能:

获取配置解析模式,支持Caffe类型解析和Onnx类型解析,默认为Caffe,Onnx解析模式支持配置。

函数原型:

RecurrentAbstractParserMode GetParserMode( ) const

参数说明:

参数名

输入/输出

说明

RecurrentAbstractParserMode

输出

获取的解析模式类型,包含的类型有:

PARSER_CAFFE;

PARSER_ONNX;

PARSER_INVALID;

默认为PARSER_CAFFE。

SetRecurrentNumOutput

函数功能:

配置输出特征数,必须大于0。即输出[T,N,D]中的D值。

函数原型:

void SetRecurrentNumOutput(uint32_t numOutput)

参数说明:

参数名

输入/输出

说明

numOutput

输入

输出特征数,最大支持8192。即输出[T,N,D]中的D值。

GetRecurrentNumOutput

函数功能:

获取输出特征数,必须大于0。即输出[T,N,D]中的D值。

函数原型:

uint32_t GetRecurrentNumOutput() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

输出特征数,必须大于0。即输出[T,N,D]中的D值。

SetRecurrentExposeHidden

函数功能:

配置是否输入输出隐藏层。

函数原型:

void SetRecurrentExposeHidden(bool recurrentExposeHidden)

参数说明:

参数名

输入/输出

说明

recurrentExposeHidden

输入

是否输入输出隐藏层。默认值为False。

GetRecurrentExposeHidden

函数功能:

获取是否输入输出隐藏层。

函数原型:

bool GetRecurrentExposeHidden() const

参数说明:

参数名

输入/输出

说明

bool

输出

是否输入输出隐藏层。

SetRecurrentContFlag

函数功能:

配置是否使用cont输入。

函数原型:

void SetRecurrentContFlag(bool contFlag)

参数说明:

参数名

输入/输出

说明

contFlag

输入

是否使用cont输入。默认值为True,当前版本只支持True。

GetRecurrentContFlag

函数功能:

获取是否使用cont输入。

函数原型:

bool GetRecurrentContFlag() const

参数说明:

参数名

输入/输出

说明

bool

输出

是否使用cont输入。

AddRecurrentParamVec

函数功能:

添加一组权重数据。

函数原型:

void AddRecurrentParamVec(const float *param)

参数说明:

参数名

输入/输出

说明

param

输入

需要添加的一组权重数据。

GetRecurrentParamVec

函数功能:

获取所有权重数据。

函数原型:

vector<const float *> GetRecurrentParamVec() const

参数说明:

参数名

输入/输出

说明

vector<const float *>

输出

所有权重数据。

AddRecurrentParamLengthVec

函数功能:

添加一组权重数据的长度。

函数原型:

void AddRecurrentParamLengthVec(uint32_t length)

参数说明:

参数名

输入/输出

说明

length

输入

需要添加的一组权重数据的长度。

GetRecurrentParamLengthVec

函数功能:

获取所有权重数据的长度。

函数原型:

vector<uint32_t> GetRecurrentParamLengthVec() const

参数说明:

参数名

输入/输出

说明

vector<uint32_t>

输出

所有权重数据的长度。

SetInitialHOnlineFlag

函数功能:

配置InitialH是否在线输入,为true时表示在线输入InitialH,Onnx解析模式支持配置。

函数原型:

void SetInitialHOnlineFlag(bool flag)

参数说明:

参数名

输入/输出

说明

flag

输入

InitialH是否在线输入标志,为true时表示在线输入。

GetInitialHOnlineFlag

函数功能:

获取InitialH是否在线输入,为true时表示在线输入InitialH,Onnx解析模式支持配置。

函数原型:

bool GetInitialHOnlineFlag()

参数说明:

参数名

输入/输出

说明

bool

输出

InitialH是否在线输入标志,为true时表示在线输入。

SetInitialCOnlineFlag

函数功能:

配置InitialC是否在线输入,为true时表示在线输入InitialC,Lstm Onnx解析模式支持配置。

函数原型:

void SetInitialCOnlineFlag(bool flag)

参数说明:

参数名

输入/输出

说明

flag

输入

InitialC是否在线输入标志,为true时表示在线输入。

GetInitialCOnlineFlag

函数功能:

获取InitialC是否在线输入,为true时表示在线输入InitialC,Lstm Onnx解析模式支持配置。

函数原型:

bool GetInitialCOnlineFlag()

参数说明:

参数名

输入/输出

说明

bool

输出

InitialC是否在线输入标志,为true时表示在线输入。

SetSequenceLensOnlineFlag

函数功能:

配置SequenceLens是否在线输入,为true时表示在线输入SequenceLens,Onnx解析模式支持配置。

函数原型:

void SetSequenceLensOnlineFlag(bool flag)

参数说明:

参数名

输入/输出

说明

flag

输入

SequenceLens是否在线输入标志,为true时表示在线输入。

GetSequenceLensOnlineFlag

函数功能:

获取SequenceLens是否在线输入,为true时表示在线输入SequenceLens,Onnx解析模式支持配置。

函数原型:

bool GetSequenceLensOnlineFlag()

参数说明:

参数名

输入/输出

说明

bool

输出

SequenceLens是否在线输入标志,为true时表示在线输入。

SetRecurrentDirection

函数功能:

配置RNN推导方向,支持正向、逆向以及双向等模式。Onnx解析模式支持配置。

函数原型:

void SetRecurrentDirection(RecurrentDirection direction)

参数说明:

参数名

输入/输出

说明

direction

输入

RNN推导方向,包含的类型有:

RECURRENT_FORWARD;

RECURRENT_REVERSE;

RECURRENT_BIDIRECTIONAL;

默认为RECURRENT_FORWARD。

GetRecurrentDirection

函数功能:

获取配置的RNN推导方向,支持正向、逆向以及双向等模式。Onnx解析模式支持配置。

函数原型:

RecurrentDirection GetRecurrentDirection()

参数说明:

参数名

输入/输出

说明

RecurrentDirection

输出

获取RNN的推导方向,包含的类型有:

RECURRENT_FORWARD;

RECURRENT_REVERSE;

RECURRENT_BIDIRECTIONAL;

默认为RECURRENT_FORWARD。

SetAfClip

函数功能:

配置数据截断范围。截断将张量的元素限制在 [-阈值, +阈值] 范围内,并应用于激活的输入。如果未指定,则不截断。Onnx解析模式支持配置。

函数原型:

void SetAfClip(float clip)

参数说明:

参数名

输入/输出

说明

clip

输入

单元格剪辑阈值。

GetAfClip

函数功能:

获取配置的数据截断范围。截断将张量的元素限制在 [-阈值, +阈值] 范围内,并应用于激活的输入。如果未指定,则不截断。Onnx解析模式支持配置。

函数原型:

float GetAfClip() const

参数说明:

参数名

输入/输出

说明

float

输出

获取配置的单元格剪辑阈值。

SetLinearBeforeResetFlag

函数功能:

配置计算隐藏门的输出时,在乘以复位门的输出之前是否应用线性变换。Onnx GRU解析模式支持配置。

函数原型:

void SetLinearBeforeResetFlag(bool flag)

参数说明:

参数名

输入/输出

说明

flag

输入

计算隐藏门的输出时,在乘以复位门的输出之前是否应用线性变换。

GetLinearBeforeResetFlag

函数功能:

获取配置计算隐藏门的输出时,在乘以复位门的输出之前是否应用线性变换。Onnx GRU解析模式支持配置。

函数原型:

bool GetLinearBeforeResetFlag()

参数说明:

参数名

输入/输出

说明

bool

输出

在计算隐藏门的输出时,在乘以复位门的输出之前是否应用线性变换标志。

SetXtShapeVec

函数功能:

配置权重Xt的shape大小。Onnx解析模式支持配置。

函数原型:

void SetXtShapeVec(const vector<int32_t> &xtShapeVec)

参数说明:

参数名

输入/输出

说明

xtShapeVec

输入

配置权重Xt的shape大小。

GetXtShapeVec

函数功能:

获取配置权重Xt的shape大小。Onnx解析模式支持配置。

函数原型:

const vector<int32_t>& GetXtShapeVec()

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

获取配置权重Xt的shape大小。

SetHtShapeVec

函数功能:

配置权重Ht的shape大小。Onnx解析模式支持配置。

函数原型:

void SetHtShapeVec(const vector<int32_t> &htShapeVec)

参数说明:

参数名

输入/输出

说明

htShapeVec

输入

配置权重Ht的shape大小。

GetHtShapeVec

函数功能:

获取配置权重Ht的shape大小。Onnx解析模式支持配置。

函数原型:

const vector<int32_t>& GetHtShapeVec()

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

获取配置权重Ht的shape大小。

SetPeepholesShapeVec

函数功能:

配置Peepholes的shape大小。Lstm Onnx解析模式支持配置。

函数原型:

void SetPeepholesShapeVec(const vector<int32_t> &peepholesShapeVec)

参数说明:

参数名

输入/输出

说明

peepholesShapeVec

输入

配置peepholesShape的shape大小。

GetPeepholesShapeVec

函数功能:

获取配置Peepholes的shape大小。Lstm Onnx解析模式支持配置。

函数原型:

const vector<int32_t>& GetPeepholesShapeVec()

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

获取配置Peepholes的shape大小。

SetRecurrentBiasShapeVec

函数功能:

配置偏移量的shape大小。Onnx解析模式支持配置。

函数原型:

void SetRecurrentBiasShapeVec(const vector<int32_t> &biasShapeVec)

参数说明:

参数名

输入/输出

说明

biasShapeVec

输入

配置偏移量的shape大小。

GetRecurrentBiasShapeVec

函数功能:

获取配置偏移量的shape大小。Onnx解析模式支持配置。

函数原型:

const vector<int32_t>& GetRecurrentBiasShapeVec()

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

获取配置偏移量的shape大小。

SetXtWeightDataPtr

函数功能:

配置权重Xt的数据指针。Onnx解析模式支持配置。要求配置权重Xt数据的大小要与SetXtShapeVec设置的shape包含的数据量大小保持一致。

函数原型:

void SetXtWeightDataPtr(const float *xtWeightDataPtr)

参数说明:

参数名

输入/输出

说明

xtWeightDataPtr

输入

配置权重Xt的数据指针。

GetXtWeightDataPtr

函数功能:

获取配置权重Xt的数据指针。Onnx解析模式支持配置。

函数原型:

const float* GetXtWeightDataPtr()

参数说明:

参数名

输入/输出

说明

const float *

输出

获取配置权重Xt的数据指针。

SetXtWeightQuantPtr

函数功能:

配置权重Xt的量化数据指针。Onnx解析模式支持配置。要求配置权重Xt量化数据的大小要与SetXtShapeVec设置的shape包含的数据量大小保持一致。

函数原型:

void SetXtWeightQuantPtr(const int8_t *xtWeightQuantPtr)

参数说明:

参数名

输入/输出

说明

xtWeightquantPtr

输入

配置权重Xt的量化数据指针。

GetXtWeightQuantPtr

函数功能:

获取配置权重Xt的量化数据指针。Onnx解析模式支持配置。

函数原型:

const int8_t* GetXtWeightQuantPtr()

参数说明:

参数名

输入/输出

说明

const int8_t*

输出

获取配置权重Xt的量化数据指针。

SetHtWeightDataPtr

函数功能:

配置权重Ht的数据指针。Onnx解析模式支持配置。要求配置权重Ht数据的大小要与SetHtShapeVec设置的shape包含的数据量大小保持一致。

函数原型:

void SetHtWeightDataPtr(const float *htWeightDataPtr)

参数说明:

参数名

输入/输出

说明

htWeightDataPtr

输入

配置权重Ht的数据指针。

GetHtWeightDataPtr

函数功能:

获取配置权重Ht的数据指针。Onnx解析模式支持配置。

函数原型:

const float* GetHtWeightDataPtr()

参数说明:

参数名

输入/输出

说明

const float *

输出

获取配置权重Ht的数据指针。

SetHtWeightQuantPtr

函数功能:

配置权重Ht的量化数据指针。Onnx解析模式支持配置。要求配置权重Ht量化数据的大小要与SetHtShapeVec设置的shape包含的数据量大小保持一致。

函数原型:

void SetHtWeightQuantPtr(const int8_t *htWeightQuantPtr)

参数说明:

参数名

输入/输出

说明

htWeightquantPtr

输入

配置权重Ht的量化数据指针。

GetHtWeightQuantPtr

函数功能:

获取配置权重Ht的量化数据指针。Onnx解析模式支持配置。

函数原型:

const int8_t* GetHtWeightQuantPtr()

参数说明:

参数名

输入/输出

说明

const int8_t*

输出

获取配置权重Ht的量化数据指针。

SetPeepholesWeightDataPtr

函数功能:

配置权重Peepholes的数据指针。Lstm Onnx解析模式支持配置。要求配置权重Peepholes数据的大小要与SetPeepholesShapeVec设置的shape包含的数据量大小保持一致。

函数原型:

void SetPeepholesWeightDataPtr(const float *peepholesWeightDataPtr)

参数说明:

参数名

输入/输出

说明

peepholesWeightDataPtr

输入

配置权重Peepholes的数据指针。

GetPeepholesWeightDataPtr

函数功能:

获取配置权重Peepholes的数据指针。Lstm Onnx解析模式支持配置。

函数原型:

const float* GetPeepholesWeightDataPtr()

参数说明:

参数名

输入/输出

说明

const float *

输出

获取配置权重Peepholes的数据指针。

SetPeepholesWeightQuantPtr

函数功能:

配置权重Peepholes的量化数据指针。目前仅Lstm Onnx解析模式支持配置。要求配置权重Peepholes量化数据的大小要与SetPeepholesShapeVec设置的shape包含的数据量大小保持一致。

函数原型:

void SetPeepholesWeightQuantPtr(const int8_t *peepholesWeightQuantPtr)

参数说明:

参数名

输入/输出

说明

peepholesWeightquantPtr

输入

配置权重Peepholes的量化数据指针。

GetPeepholesWeightQuantPtr

函数功能:

获取配置权重Peepholes的量化数据指针。目前仅Lstm Onnx解析模式支持配置。

函数原型:

const int8_t* GetPeepholesWeightQuantPtr()

参数说明:

参数名

输入/输出

说明

const int8_t*

输出

获取配置权重Peepholes的量化数据指针。

SetRecurrentBiasDataPtr

函数功能:

配置偏移量的数据指针。Onnx解析模式支持配置。要求配置偏移量数据的大小要与SetRecurrentBiasShapeVec设置的shape包含的数据量大小保持一致。

函数原型:

void SetRecurrentBiasDataPtr(const float *biasWeightDataPtr)

参数说明:

参数名

输入/输出

说明

biasWeightDataPtr

输入

配置偏移量的数据指针。

GetRecurrentBiasDataPtr

函数功能:

获取配置偏移量的数据指针。Onnx解析模式支持配置。

函数原型:

const float* GetRecurrentBiasDataPtr()

参数说明:

参数名

输入/输出

说明

const float *

输出

获取配置偏移量的数据指针。

SetRecurrentBiasQuantPtr

函数功能:

配置偏移量的量化数据指针。Onnx解析模式支持配置。要求配置偏移量量化数据的大小要与SetRecurrentBiasShapeVec设置的shape包含的数据量大小保持一致。

函数原型:

void SetRecurrentBiasQuantPtr(const int32_t *biasWeightQuantPtr)

参数说明:

参数名

输入/输出

说明

biasWeightquantPtr

输入

配置偏移量的量化数据指针。

GetRecurrentBiasQuantPtr

函数功能:

获取配置偏移量的量化数据指针。Onnx解析模式支持配置。

函数原型:

const int32_t* GetRecurrentBiasQuantPtr()

参数说明:

参数名

输入/输出

说明

const int32_t*

输出

获取配置偏移量的量化数据指针。

ArgmaxOperator配置接口

SetAxis接口参考SetAxis章节,其默认值为1。

SetArgMaxAxis

函数功能:

配置当前算子的Axis属性值。

函数原型:

void SetArgMaxAxis(const int32_t axis);

参数说明:

参数名

输入/输出

说明

axis

输入

当前算子的Axis属性值。

GetArgMaxAxis

函数功能:

获取当前算子的Axis属性值。

函数原型:

const int32_t GetArgMaxAxis() const;

参数说明:

参数名

输入/输出

说明

const int32_t

输出

当前算子的Axis属性值。

SetKeepDims

函数功能:

配置输出是否需要保持维度数量不变。

函数原型:

void SetKeepDims(bool keepDims)

参数说明:

参数名

输入/输出

说明

keepDims

输入

输出是否需要保持维度数量不变。

GetKeepDims

函数功能:

获取输出是否需要保持维度数量不变。

函数原型:

bool GetKeepDims() const

参数说明:

参数名

输入/输出

说明

bool

输出

输出是否需要保持维度数量不变。

SetSelectLastIndex

函数功能:

当有多个相同的最大值时,配置输出的最大值索引对应的是否为最后一个最大值。

函数原型:

void SetSelectLastIndex(bool selectLastIndex)

参数说明:

参数名

输入/输出

说明

selectLastIndex

输入

输出的最大值索引对应的是否为最后一个最大值。

GetSelectLastIndex

函数功能:

获取输出的最大值索引对应的是否为最后一个最大值。

函数原型:

bool  GetSelectLastIndex() const

参数说明:

参数名

输入/输出

说明

bool

输出

输出的最大值索引对应的是否为最后一个最大值。

BinaryMathOperator配置接口

SetBinaryMathOp

函数功能:

配置算数运算的类型。

函数原型:

void SetBinaryMathOp(BinaryMathOp binaryMathOp)

参数说明:

参数名

输入/输出

说明

规格约束

binaryMathOp

输入

以BinaryMathOp枚举值配置算数运算的类型。包含的类型有:

ADD_OP: x + y

SUB_OP: x - y

MUL_OP: x * y

DIV_OP: x / y

MAX_OP: max(x, y, ..., z)

MIN_OP: min(x, y, ..., z)

SQUARE_DIFF_OP: (x - y)^2

X_DIV_Y_OP: x / y

X_LOG_Y_OP: x * log(y)

MEAN_OP: mean(x, y, ..., z)

SUM_OP: sum(x, y, ..., z)

默认为ADD_OP。

仅支持两路输入:ADD_OP, SUM_OP, MUL_OP, DIV_OP, SQUARE_DIFF_OP, X_DIV_Y_OP, X_LOG_Y_OP。

支持多路输入,但至少为两路:MAX_OP, MIN_OP, MEAN_OP, SUM_OP。

GetBinaryMathOp

函数功能:

获取算数运算的类型。

函数原型:

BinaryMathOp GetBinaryMathOp() const

参数说明:

参数名

输入/输出

说明

BinaryMathOp

输出

以BinaryMathOp枚举值配置算数运算的类型。包含的类型有:

ADD_OP

SUB_OP

MUL_OP

DIV_OP

MAX_OP

MIN_OP

SQUARE_DIFF_OP

X_DIV_Y_OP

X_LOG_Y_OP

MEAN_OP

SUM_OP

默认为ADD_OP。

DecBboxOperator配置接口

SetDecBboxParam

函数功能:

设置后处理参数,其paramType需要指定为PROPOSAL_DECBBOX。

函数原型:

void SetDecBboxParam(struct DetectionOutputParam DecBboxParam)

参数说明:

参数名

输入/输出

说明

DecBboxParam

输入

后处理参数,由DetectionOutputParam类型的对象表征,其paramType需要指定为PROPOSAL_DECBBOX。

GetDecBboxParam

函数功能:

获取后处理参数,其paramType需要指定为PROPOSAL_DECBBOX。

函数原型:

DetectionOutputParam GetDecBboxParam() const

参数说明:

参数名

输入/输出

说明

DetectionOutputParam

输出

后处理参数,由DetectionOutputParam类型的对象表征,其paramType需要指定为PROPOSAL_DECBBOX。

SetNumGridsWidth

函数功能:

配置宽度方向上grid数量。

函数原型:

void SetNumGridsWidth(uint32_t numGridsWidth)

参数说明:

参数名

输入/输出

说明

numGridsWidth

输入

宽度方向上grid数量。

GetNumGridsWidth

函数功能:

获取宽度方向上grid数量。

函数原型:

uint32_t GetNumGridsWidth() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

宽度方向上grid数量。

SetNumGridsHeight

函数功能:

配置高度方向上grid数量。

函数原型:

void SetNumGridsHeight(uint32_t numGridsHeight)

参数说明:

参数名

输入/输出

说明

numGridsHeight

输入

高度方向上grid数量。

GetNumGridsHeight

函数功能:

获取高度方向上grid数量。

函数原型:

uint32_t GetNumGridsHeight() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

高度方向上grid数量。

SetNumAnchors

函数功能:

配置总框数。与SetNumBboxesPerGrid不同时使用。

函数原型:

void SetNumAnchors(uint32_t numAnchors)

参数说明:

参数名

输入/输出

说明

numAnchors

输入

总框数。

GetNumAnchors

函数功能:

获取总框数。与SetNumBboxesPerGrid不同时使用。

函数原型:

uint32_t GetNumAnchors() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

总框数。

SetNumBboxesPerGrid

函数功能:

配置每个grid中框的数量。与SetNumAnchors不同时使用。

函数原型:

void SetNumBboxesPerGrid(uint32_t numBboxesPerGrid)

参数说明:

参数名

输入/输出

说明

numBboxesPerGrid

输入

每个grid中框的数量。

GetNumBboxesPerGrid

函数功能:

获取每个grid中框的数量。与GetNumAnchors不同时使用。

函数原型:

uint32_t GetNumBboxesPerGrid() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

每个grid中框的数量。

SetNumCoords

函数功能:

配置Coords的数量。

函数原型:

void SetNumCoords(uint32_t numCoords)

参数说明:

参数名

输入/输出

说明

numCoords

输入

Coords的数量。

GetNumCoords

函数功能:

获取Coords的数量。

函数原型:

uint32_t GetNumCoords() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

Coords的数量。

SetNumClasses

函数功能:

配置检测目标类型总数。

函数原型:

void SetNumClasses(uint32_t numClasses)

参数说明:

参数名

输入/输出

说明

numClasses

输入

检测目标类型总数。

GetNumClasses

函数功能:

获取检测目标类型总数。

函数原型:

uint32_t GetNumClasses() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

检测目标类型总数。

EltwiseOperator配置接口

SetEltwiseOp

函数功能:

配置算数运算的类型。

函数原型:

void SetEltwiseOp(BinaryMathOp eltwiseOp)

参数说明:

参数名

输入/输出

说明

eltwiseOp

输入

以BinaryMathOp枚举值配置算数运算的类型。包含的类型有:

MAX_OP

SUM_OP

MUL_OP

默认为SUM_OP。

GetEltwiseOp

函数功能:

获取算数运算的类型。

函数原型:

BinaryMathOp GetEltwiseOp() const

参数说明:

参数名

输入/输出

说明

BinaryMathOp

输出

以BinaryMathOp枚举值配置算数运算的类型。包含的类型有:

MAX_OP

SUM_OP

MUL_OP

默认为SUM_OP。

SetEltCoeffVec

函数功能:

配置coeff值集合。在sum时,每路输入乘以对应的系数。

函数原型:

void SetEltCoeffVec(const vector<float> &eltCoeffVec)

参数说明:

参数名

输入/输出

说明

eltCoeffVec

输入

coeff值集合,在sum时,每路输入乘以对应的系数。默认为空,其长度应与输入个数一致,目前长度只支持0或者2。

GetEltCoeffVec

函数功能:

获取coeff值集合。在sum时,每路输入乘以对应的系数。

函数原型:

const vector<float>& GetEltCoeffVec() const

参数说明:

参数名

输入/输出

说明

const vector<float>&

输出

coeff值集合,在sum时,每路输入乘以对应的系数。默认为空,其长度应与输入个数一致,目前长度只支持0或者2。

AddEltCoeff

函数功能:

添加一组coeff值。在sum时,每路输入乘以对应的系数。

函数原型:

void AddEltCoeff(float eltCoeff)

参数说明:

参数名

输入/输出

说明

eltCoeff

输入

coeff值。在sum时,每路输入乘以对应的系数。默认为空,其长度应与输入个数一致,目前长度只支持0或者2。

ExpOperator配置接口

SetExpBase

函数功能:

配置exp运算的底数值。

函数原型:

void SetExpBase(float expBase)

参数说明:

参数名

输入/输出

说明

expBase

输入

底数值。默认为-1,代表e值。

GetExpBase

函数功能:

获取exp运算的底数值。

函数原型:

float GetExpBase() const

参数说明:

参数名

输入/输出

说明

float

输出

exp运算的底数值。默认为-1,代表e值。

SetExpScale

函数功能:

配置exp运算的scale缩放值。

函数原型:

void SetExpScale(float expScale)

参数说明:

参数名

输入/输出

说明

expScale

输入

scale缩放值。默认为1。

GetExpScale

函数功能:

获取exp运算的scale缩放值。

函数原型:

float GetExpScale() const

参数说明:

参数名

输入/输出

说明

float

输出

exp运算的scale缩放值。默认为1。

SetExpShift

函数功能:

配置exp运算的shift偏移值。

函数原型:

void SetExpShift(float expShift)

参数说明:

参数名

输入/输出

说明

expShift

输入

shift偏移值。默认为0。

GetExpShift

函数功能:

获取exp运算的shift偏移值。

函数原型:

float GetExpShift() const

参数说明:

参数名

输入/输出

说明

float

输出

exp运算的shift偏移值。默认为0。

GatherOperator配置接口

SetAxis接口参考SetAxis章节,其默认值为1。

InterpOperator配置接口

SetInterpHeight

函数功能:

配置双线性差值变形后的高度值。与SetInterpWidth配合使用,不能与SetInterpZoom、SetInterpShrink同时使用。

函数原型:

void SetInterpHeight(int32_t interpHeight)

参数说明:

参数名

输入/输出

说明

interpHeight

输入

双线性差值变形后的高度值。

GetInterpHeight

函数功能:

获取双线性差值变形后的高度值。与SetInterpWidth配合使用,不能与SetInterpZoom、SetInterpShrink同时使用。

函数原型:

int32_t GetInterpHeight() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

双线性差值变形后的高度值。

SetInterpWidth

函数功能:

配置双线性差值变形后的宽度值。与SetInterpHeight配合使用,不能与SetInterpZoom、SetInterpShrink同时使用。

函数原型:

void SetInterpWidth(int32_t interpWidth)

参数说明:

参数名

输入/输出

说明

interpWidth

输入

双线性差值变形后的宽度值。

GetInterpWidth

函数功能:

获取双线性差值变形后的宽度值。与SetInterpHeight配合使用,不能与SetInterpZoom、SetInterpShrink同时使用。

函数原型:

int32_t  GetInterpWidth() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

双线性差值变形后的宽度值。

SetInterpZoom

函数功能:

配置水平和竖直方向的放大系数。不能与SetInterpHeight、SetInterpWidth、SetInterpShrink同时使用。

函数原型:

void SetInterpZoom(int32_t interpZoom)

参数说明:

参数名

输入/输出

说明

interpZoom

输入

水平和竖直方向的放大系数。默认为1。

GetInterpZoom

函数功能:

获取水平和竖直方向的放大系数。不能与SetInterpHeight、SetInterpWidth、SetInterpShrink同时使用。

函数原型:

int32_t GetInterpZoom() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

水平和竖直方向的放大系数。默认为1。

SetInterpShrink

函数功能:

配置水平和竖直方向的缩小系数。不能与SetInterpHeight、SetInterpWidth、SetInterpZoom同时使用。

函数原型:

void SetInterpShrink(int32_t interpShrink)

参数说明:

参数名

输入/输出

说明

interpShrink

输入

水平和竖直方向的缩小系数。

GetInterpShrink

函数功能:

获取水平和竖直方向的缩小系数。不能与SetInterpHeight、SetInterpWidth、SetInterpZoom同时使用。

函数原型:

int32_t GetInterpShrink() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

水平和竖直方向的缩小系数。

SetInterpPadBeg

函数功能:

配置水平和竖直方向起始位置,即负补边值。只能为负值或0。

函数原型:

void SetInterpPadBeg(int32_t interpPadBeg)

参数说明:

参数名

输入/输出

说明

interpPadBeg

输入

水平和竖直方向起始位置,即负补边值。只能为负值或0,默认为0。

GetInterpPadBeg

函数功能:

获取水平和竖直方向起始位置,即负补边值。只能为负值或0。

函数原型:

int32_t GetInterpPadBeg() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

水平和竖直方向起始位置,即负补边值。只能为负值或0,默认为0。

SetInterpPadEnd

函数功能:

配置水平和竖直方向结束位置,即负补边值。只能为负值或0。

函数原型:

void SetInterpPadEnd(int32_t interpPadEnd)

参数说明:

参数名

输入/输出

说明

interpPadEnd

输入

水平和竖直方向结束位置,即负补边值。只能为负值或0,默认为0。

GetInterpPadEnd

函数功能:

获取水平和竖直方向结束位置,即负补边值。只能为负值或0。

函数原型:

int32_t GetInterpPadEnd() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

水平和竖直方向结束位置,即负补边值。只能为负值或0,默认为0。

LrnOperator配置接口

SetLrnLocalSize

函数功能:

配置Lrn运算的size值。

函数原型:

void SetLrnLocalSize(uint32_t lrnLocalSize)

参数说明:

参数名

输入/输出

说明

lrnLocalSize

输入

Lrn运算的size值。默认为5,必须是奇数。

GetLrnLocalSize

函数功能:

获取Lrn运算的size值。

函数原型:

uint32_t GetLrnLocalSize() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

Lrn运算的size值。默认为5,必须是奇数。

SetLrnAlpha

函数功能:

配置Lrn运算的alpha值。

函数原型:

void SetLrnAlpha(float lrnAlpha)

参数说明:

参数名

输入/输出

说明

lrnAlpha

输入

Lrn运算的alpha值。默认为1。

GetLrnAlpha

函数功能:

获取Lrn运算的alpha值。

函数原型:

float GetLrnAlpha() const

参数说明:

参数名

输入/输出

说明

float

输出

Lrn运算的alpha值。默认为1。

SetLrnBeta

函数功能:

配置Lrn运算的beta值。

函数原型:

void SetLrnBeta(float lrnBeta)

参数说明:

参数名

输入/输出

说明

lrnBeta

输入

配置Lrn运算的beta值。默认为0.75。

GetLrnBeta

函数功能:

获取Lrn运算的beta值。

函数原型:

float GetLrnBeta() const

参数说明:

参数名

输入/输出

说明

float

输出

配置Lrn运算的beta值。默认为0.75。

SetLrnK

函数功能:

配置Lrn运算的k值。

函数原型:

void SetLrnK(float lrnK)

参数说明:

参数名

输入/输出

说明

lrnK

输入

Lrn运算的k值。默认为1.0。

GetLrnK

函数功能:

获取Lrn运算的k值。

函数原型:

float GetLrnK() const

参数说明:

参数名

输入/输出

说明

float

输出

Lrn运算的k值。默认为1.0。

MvnOperator配置接口

SetMVNNormalizeVariance

函数功能:

设为false时只减均值,默认为true。

函数原型:

void SetMVNNormalizeVariance(bool flag)

参数说明:

参数名

输入/输出

说明

flag

输入

设为false时只减均值,默认为true。

GetMVNNormalizeVariance

函数功能:

获取是否只减均值。false时只减均值,默认为true。

函数原型:

bool GetMVNNormalizeVariance() const

参数说明:

参数名

输入/输出

说明

bool

输出

设为false时只减均值,默认为true。

SetMVNAcrossChannels

函数功能:

设为true时就使CHW视为一个向量,默认为flase。

函数原型:

void SetMVNAcrossChannels(bool flag)

参数说明:

参数名

输入/输出

说明

flag

输入

设为true时就使CHW视为一个向量,默认为flase。

GetMVNAcrossChannels

函数功能:

获取是否将CHW视为一个向量。设为true时就使CHW视为一个向量,默认为flase

函数原型:

bool GetMVNAcrossChannels() const

参数说明:

参数名

输入/输出

说明

bool

输出

设为true时就是CHW视为一个向量,默认为flase。

SetMVNEps

函数功能:

Epsilon为了防止除零,默认值5.96e-8,可以配置。

函数原型:

void SetMVNEps(float eps)

参数说明:

参数名

输入/输出

说明

eps

输入

防止除零,默认值5.96e-8,可以配置。

GetMVNEps

函数功能:

获取Epsilon值,为了防止除零,默认值5.96e-8。

函数原型:

float GetMVNEps() const

参数说明:

参数名

输入/输出

说明

float

输出

Epsilon值。防止除零,默认值5.96e-8。

PushMVNAxes

函数功能:

添加一组参与运算的轴。

函数原型:

void PushMVNAxes(uint32_t axis)

参数说明:

参数名

输入/输出

说明

axis

输入

对应一组参与运算的轴的角标。

GetMVNAxes

函数功能:

获取所有参与运算的轴。

函数原型:

vector<uint32_t> GetMVNAxes() const

参数说明:

参数名

输入/输出

说明

vector<uint32_t>

输出

所有参与运算的轴的角标。

NormalizeOperator配置接口

SetNormAcrossSpatial

函数功能:

配置是否在全空间做normalize运算。

函数原型:

void SetNormAcrossSpatial(bool normAcrossSpatial)

参数说明:

参数名

输入/输出

说明

normAcrossSpatial

输入

True表示在CHW 维度做normalize,False表示只在C维度上做normalize。当前只支持False。

GetNormAcrossSpatial

函数功能:

获取是否在全空间做normalize运算。

函数原型:

bool GetNormAcrossSpatial() const

参数说明:

参数名

输入/输出

说明

bool

输出

True表示在CHW 维度做normalize,False表示只在C维度上做normalize。当前只支持False。

SetNormChannelShared

函数功能:

配置不同通道是否使用相同的参数。

函数原型:

void SetNormChannelShared(bool normChannelShared)

参数说明:

参数名

输入/输出

说明

normChannelShared

输入

不同通道是否使用相同的参数。默认值为True。

GetNormChannelShared

函数功能:

获取不同通道是否使用相同的参数。

函数原型:

bool GetNormChannelShared() const

参数说明:

参数名

输入/输出

说明

bool

输出

不同通道是否使用相同的参数。默认值为True。

SetNormAlpha

函数功能:

配置Norm运算中alpha参数的值。

函数原型:

void SetNormAlpha(float normAlpha)

参数说明:

参数名

输入/输出

说明

normAlpha

输入

Norm运算中alpha参数的值。默认为1。

GetNormAlpha

函数功能:

获取Norm运算中alpha参数的值。

函数原型:

float GetNormAlpha() const

参数说明:

参数名

输入/输出

说明

float

输出

Norm运算中alpha参数的值。默认为1。

SetNormEps

函数功能:

为了防止除0,默认值1e-10。

函数原型:

void SetNormEps(float normEps)

参数说明:

参数名

输入/输出

说明

normEps

输入

为了防止除0,默认值1e-10。

GetNormEps

函数功能:

获取Epsilon值,为了防止除零,默认值1e-10。

函数原型:

float GetNormEps() const

参数说明:

参数名

输入/输出

说明

float

输出

Epsilon值。为了防止除0,默认值1e-10。

SetNormScaleVec

函数功能:

配置所有通道的scale参数值。

函数原型:

void SetNormScaleVec(vector<float> normScaleVec)

参数说明:

参数名

输入/输出

说明

normScaleVec

输入

所有通道的scale参数值。

GetNormScaleVec

函数功能:

获取所有通道的scale参数值。

函数原型:

vector<float> GetNormScaleVec() const

参数说明:

参数名

输入/输出

说明

vector<float>

输出

所有通道的scale参数值

PushNormScale

函数功能:

添加一个通道的scale参数值。

函数原型:

void PushNormScale(float normScale)

参数说明:

参数名

输入/输出

说明

normScale

输入

一个通道的scale参数值。

PassthroughOperator配置接口

Reorg算子与Passthrough算子功能一致,统一使用PassthroughOperator构图。

SetPassThroughNumOutput

函数功能:

配置输出数据通道数。

函数原型:

void SetPassThroughNumOutput(uint32_t numOuput)

参数说明:

参数名

输入/输出

说明

numOuput

输入

输出数据通道数。

GetPassThroughNumOutput

函数功能:

获取输出数据通道数。

函数原型:

uint32_t GetPassThroughNumOutput() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

输出数据通道数。

SetPassThroughBlockHeight

函数功能:

配置H方向block单元的长度,即H方向尺寸缩小的倍数。

函数原型:

void SetPassThroughBlockHeight(uint32_t height)

参数说明:

参数名

输入/输出

说明

height

输入

H方向block单元的长度,即H方向尺寸缩小的倍数。

GetPassThroughBlockHeight

函数功能:

获取H方向block单元的长度,即H方向尺寸缩小的倍数。

函数原型:

uint32_t GetPassThroughBlockHeight() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

H方向block单元的长度,即H方向尺寸缩小的倍数。

SetPassThroughBlockWidth

函数功能:

配置W方向block单元的长度,即W方向尺寸缩小的倍数。

函数原型:

void SetPassThroughBlockWidth(uint32_t width)

参数说明:

参数名

输入/输出

说明

width

输入

W方向block单元的长度,即W方向尺寸缩小的倍数。

GetPassThroughBlockWidth

函数功能:

获取W方向block单元的长度,即W方向尺寸缩小的倍数。

函数原型:

uint32_t GetPassThroughBlockWidth() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

W方向block单元的长度,即W方向尺寸缩小的倍数。

PowerOperator配置接口

SetPowerPower

函数功能:

配置Power运算的幂指数。

函数原型:

void SetPowerPower(float powerPower)

参数说明:

参数名

输入/输出

说明

powerPower

输入

Power运算的幂指数。默认为1.0。

GetPowerPower

函数功能:

获取Power运算的幂指数。

函数原型:

float GetPowerPower() const

参数说明:

参数名

输入/输出

说明

float

输出

Power运算的幂指数。默认为1.0。

SetPowerScale

函数功能:

配置缩放系数。

函数原型:

void SetPowerScale(float powerScale)

参数说明:

参数名

输入/输出

说明

powerScale

输入

缩放系数。默认为1.0。

GetPowerScale

函数功能:

获取缩放系数。

函数原型:

float GetPowerScale() const

参数说明:

参数名

输入/输出

说明

float

输出

缩放系数。默认为1.0。

SetPowerShift

函数功能:

配置偏移系数。

函数原型:

void SetPowerShift(float powerShift)

参数说明:

参数名

输入/输出

说明

powerShift

输入

偏移系数。默认为0。

GetPowerShift

函数功能:

获取偏移系数。

函数原型:

float  GetPowerShift() const

参数说明:

参数名

输入/输出

说明

float

输出

偏移系数。默认为0。

ReductionOperator配置接口

SetReductionOp

函数功能:

配置运算类型。

函数原型:

void SetReductionOp(ReductionOp reductionOp)

参数说明:

参数名

输入/输出

说明

reductionOp

输入

运算类型。由枚举值ReductionOp表征,可配置的枚举值有:

RD_SUM

RD_ASUM

RD_SUMSQ

RD_MEAN

RD_L2

RD_LOGSUM

RD_LOGSUMEXP

RD_MAX

RD_MIN

RD_PROD

当前版本支持配置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

输出

运算类型。由枚举值ReductionOp表征,可配置的枚举值有:

RD_SUM

RD_ASUM

RD_SUMSQ

RD_MEAN

RD_L2

RD_LOGSUM

RD_LOGSUMEXP

RD_MAX

RD_MIN

RD_PROD

当前版本支持配置RD_SUM、RD_ASUM、RD_SUMSQ、RD_MEAN、RD_MAX、RD_MIN 、RD_PROD、RD_L2,默认配置为RD_SUM

SetReductionCoeff

函数功能:

配置输出的系数。

函数原型:

void SetReductionCoeff(float reductionCoeff)

参数说明:

参数名

输入/输出

说明

reductionCoeff

输入

输出的系数。默认为1.0。

GetReductionCoeff

函数功能:

获取输出的系数。

函数原型:

float GetReductionCoeff() const

参数说明:

参数名

输入/输出

说明

float

输出

输出的系数。默认为1.0。

SetReduceAxesSet

函数功能:

配置所有参与Reduce运算的坐标轴。

函数原型:

void SetReduceAxesSet(const set<int> &axesSet)

参数说明:

参数名

输入/输出

说明

axesSet

输入

所有参与Reduce运算的坐标轴。坐标轴的支持范围:[-4, 3]。

GetReduceAxesSet

函数功能:

获取所有参与Reduce运算的坐标轴。

函数原型:

const set<int>& GetReduceAxesSet() const

参数说明:

参数名

输入/输出

说明

const set<int>&

输出

所有参与Reduce运算的坐标轴。坐标轴的支持范围:[-4, 3]。

SetReduceKeepDims

函数功能:

配置布尔开关值,表示计算完成后是否保持维度数不变。

函数原型:

void SetReduceKeepDims(bool keepDims)

参数说明:

参数名

输入/输出

说明

keepDims

输入

计算完成后是否保持维度数不变。必须配置。

GetReduceKeepDims

函数功能:

获取布尔开关值,表示计算完成后是否保持维度数不变。

函数原型:

bool GetReduceKeepDims() const

参数说明:

参数名

输入/输出

说明

bool

输出

计算完成后是否保持维度数不变。必须配置。

SetReduceIsFromCaffe

函数功能:

配置布尔开关值,表示算子走Caffe还是Onnx

函数原型:

bool SetReduceIsFromCaffe(bool isFromCaffe)

参数说明:

参数名

输入/输出

说明

isFromCaffe

输入

支持算子为RD_MEAN、RD_SUM、RD_ASUM、RD_SUMSQ四种类型的时候进行配置。默认配置为true,表示默认走Caffe,配置false可让算子走Onnx实现。其它算子类型建议配置为false。

GetReduceIsFromCaffe

函数功能:

获取布尔开关值,表示算子走Caffe还是Onnx

函数原型:

bool GetReduceIsFromCaffe() const

参数说明:

参数名

输入/输出

说明

bool

输出

判断算子走Caffe还是Onnx实现,建议配置。默认为RD_MEAN、RD_SUM、RD_ASUM、RD_SUMSQ四种类型走Caffe实现。

ScaleOperator配置接口

SetAxis接口参考SetAxis章节,其默认值为1。

SetScaleWeightSize

函数功能:

配置权重数据的个数。

函数原型:

void SetScaleWeightSize(uint32_t scaleWeightSize)

参数说明:

参数名

输入/输出

说明

scaleWeightSize

输入

权重数据的个数。

GetScaleWeightSize

函数功能:

获取权重数据的个数。

函数原型:

uint32_t GetScaleWeightSize() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

权重数据的个数。

SetScaleBiasSize

函数功能:

配置偏移量数据的个数。

函数原型:

void SetScaleBiasSize(uint32_t scaleBiasSize)

参数说明:

参数名

输入/输出

说明

scaleBiasSize

输入

偏移量数据的个数。

GetScaleBiasSize

函数功能:

获取偏移量数据的个数。

函数原型:

uint32_t GetScaleBiasSize() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

偏移量数据的个数。

SetScaleNumAxes

函数功能:

配置参与运算的坐标轴数量,与SetAxis接口配合使用。

函数原型:

void SetScaleNumAxes(int32_t scaleNumAxes)

参数说明:

参数名

输入/输出

说明

scaleNumAxes

输入

参与运算的坐标轴数量,即做scale运算的维度数量。默认是1,表示做scale的维度,-1表示axis 开始全部。

GetScaleNumAxes

函数功能:

获取参与运算的坐标轴数量,与SetAxis接口配合使用。

函数原型:

int32_t GetScaleNumAxes() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

参与运算的坐标轴数量,即做scale运算的维度数量。默认是1,表示做scale的维度,-1表示axis 开始全部。

SetScaleWeightPtr

函数功能:

配置权重数据指针。

函数原型:

void SetScaleWeightPtr(const float *scaleWeightPtr)

参数说明:

参数名

输入/输出

说明

scaleWeightPtr

输入

权重数据指针。

GetScaleWeightPtr

函数功能:

获取权重数据指针。

函数原型:

const float* GetScaleWeightPtr() const

参数说明:

参数名

输入/输出

说明

const float*

输出

权重数据指针。

SetScaleBiasPtr

函数功能:

配置偏移量数据指针。

函数原型:

void SetScaleBiasPtr(const float *scaleBiasPtr)

参数说明:

参数名

输入/输出

说明

scaleBiasPtr

输入

偏移量数据指针。

GetScaleBiasPtr

函数功能:

获取偏移量数据指针。

函数原型:

const float* GetScaleBiasPtr() const

参数说明:

参数名

输入/输出

说明

const float*

输出

偏移量数据指针。

SetScaleShapeVec

函数功能:

配置权重数据的所有shape信息。

函数原型:

void SetScaleShapeVec(const vector<int32_t> &scaleShapeVec)

参数说明:

参数名

输入/输出

说明

scaleShapeVec

输入

保存权重数据shape信息的队列。

GetScaleShapeVec

函数功能:

获取权重数据的所有shape信息。

函数原型:

const vector<int32_t>& GetScaleShapeVec() const

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

权重数据shape信息的队列。

AddScaleShape

函数功能:

添加权重数据的一个shape维度数据。

函数原型:

void AddScaleShape(int32_t scaleShape)

参数说明:

参数名

输入/输出

说明

scaleShape

输入

一个shape维度数据。

SoftmaxOperator配置接口

SetRealAxes

函数功能:

配置进行softmax运算的所有维度组合模式。

函数原型:

void SetRealAxes(SoftmaxAxes axes)

参数说明:

参数名

输入/输出

说明

axes

输入

进行softmax运算的所有维度组合模式。使用SoftmaxAxes枚举值表征,可选配置枚举值:

SOFTMAX_C

SOFTMAX_H

SOFTMAX_W

SOFTMAX_HW

SOFTMAX_CHW

默认为SOFTMAX_W。

GetRealAxes

函数功能:

获取进行softmax运算的所有维度组合模式。

函数原型:

SoftmaxAxes GetMatMulDim1() const

参数说明:

参数名

输入/输出

说明

SoftmaxAxes

输出

进行softmax运算的所有维度组合模式。使用SoftmaxAxes枚举值表征,可选配置枚举值有:

SOFTMAX_C

SOFTMAX_H

SOFTMAX_W

SOFTMAX_HW

SOFTMAX_CHW

默认为SOFTMAX_W。

ThresholdOperator配置接口

SetThreshold

函数功能:

配置阈值。

函数原型:

void SetThreshold(float threshold)

参数说明:

参数名

输入/输出

说明

threshold

输入

阈值。默认为0。

GetThreshold

函数功能:

获取阈值。

函数原型:

float GetThreshold() const

参数说明:

参数名

输入/输出

说明

float

输出

阈值。默认为0。

UpsampleOperator配置接口

SetUpsampleScale

函数功能:

配置缩放系数。

函数原型:

void SetUpsampleScale(uint32_t upsampleScale)

参数说明:

参数名

输入/输出

说明

upsampleScale

输入

缩放系数。NEAREST模式下只支持2。BILINEAR模式下只支持2、4、8、16。

GetUpsampleScale

函数功能:

获取缩放系数。

函数原型:

uint32_t GetUpsampleScale() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

缩放系数。NEAREST模式下只支持2。BILINEAR模式下只支持2、4、8、16。

SetInterpolationMode

函数功能:

配置差值计算模式。

函数原型:

void SetInterpolationMode(InterpolationMode mode)

参数说明:

参数名

输入/输出

说明

mode

输入

差值计算模式。使用InterpolationMode枚举值表征,可配枚举值有:

NEAREST

BILINEAR

默认为NEAREST,当前版本暂不支持配置为BILINEAR。

GetInterpolationMode

函数功能:

获取差值计算模式。

函数原型:

InterpolationMode GetInterpolationMode() const

参数说明:

参数名

输入/输出

说明

InterpolationMode

输出

差值计算模式。使用InterpolationMode枚举值表征,可配枚举值有:

NEAREST

BILINEAR

默认为NEAREST,当前版本暂不支持配置为BILINEAR。

BatchNormOperator配置接口

SetBnEps

函数功能:

配置分母附加值,防止除以方差时出现除0操作,默认为1e-5。

函数原型:

void SetBnEps(float bnEps)

参数说明:

参数名

输入/输出

说明

bnEps

输入

分母附加值,防止除以方差时出现除0操作,默认为1e-5。

GetBnEps

函数功能:

获取分母附加值,防止除以方差时出现除0操作,默认为1e-5。

函数原型:

float GetBnEps() const

参数说明:

参数名

输入/输出

说明

float

输出

分母附加值,防止除以方差时出现除0操作,默认为1e-5

SetBnScaleSize

函数功能:

配置缩放权重数据的个数。

函数原型:

void SetBnScaleSize(uint32_t bnScaleSize)

参数说明:

参数名

输入/输出

说明

bnScaleSize

输入

缩放权重数据的个数。

GetBnScaleSize

函数功能:

获取缩放权重数据的个数。

函数原型:

uint32_t GetBnScaleSize() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

缩放权重数据的个数。

SetBnBiasSize

函数功能:

配置偏移量数据的个数。

函数原型:

void SetBnBiasSize(uint32_t bnBiasSize)

参数说明:

参数名

输入/输出

说明

bnBiasSize

输入

偏移量数据的个数。

GetBnBiasSize

函数功能:

获取偏移量数据的个数。

函数原型:

uint32_t GetBnBiasSize() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

偏移量数据的个数。

SetBnScalePtr

函数功能:

配置缩放权重数据的指针。

函数原型:

void SetBnScalePtr(const float *bnScalePtr)

参数说明:

参数名

输入/输出

说明

bnScalePtr

输入

缩放权重数据的指针。

GetBnScalePtr

函数功能:

获取缩放权重数据的指针。

函数原型:

const float* GetBnScalePtr() const

参数说明:

参数名

输入/输出

说明

const float*

输出

缩放权重数据的指针。

SetBnBiasPtr

函数功能:

配置偏移量数据的指针。

函数原型:

void SetBnBiasPtr(const float *bnBiasPtr)

参数说明:

参数名

输入/输出

说明

bnBiasPtr

输入

偏移量数据的指针。

GetBnBiasPtr

函数功能:

获取偏移量数据的指针。

函数原型:

const float* GetBnBiasPtr() const

参数说明:

参数名

输入/输出

说明

const float*

输出

偏移量数据的指针。

SetBnMeanDataPtr

函数功能:

配置均值数据的指针。

函数原型:

void SetBnMeanDataPtr(const float *bnMeanData)

参数说明:

参数名

输入/输出

说明

bnMeanData

输入

均值数据的指针。

GetBnMeanDataPtr

函数功能:

获取均值数据的指针。

函数原型:

const float* GetBnMeanDataPtr() const

参数说明:

参数名

输入/输出

说明

const float*

输出

均值数据的指针。

SetBnVarDataPtr

函数功能:

配置方差数据指针。

函数原型:

void SetBnVarDataPtr(const float *bnVarData)

参数说明:

参数名

输入/输出

说明

bnVarData

输入

方差数据指针。

GetBnVarDataPtr

函数功能:

获取方差数据指针。

函数原型:

const float* GetBnVarDataPtr() const

参数说明:

参数名

输入/输出

说明

const float*

输出

方差数据指针。

SetBnMeanSize

函数功能:

配置均值数据的个数。

函数原型:

void SetBnMeanSize(uint32_t bnMeanSize)

参数说明:

参数名

输入/输出

说明

bnMeanSize

输入

均值数据的个数。

GetBnMeanSize

函数功能:

获取均值数据的个数。

函数原型:

uint32_t GetBnMeanSize() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

均值数据的个数。

SetBnVarSize

函数功能:

配置方差数据的个数。

函数原型:

void SetBnVarSize(uint32_t bnVarSize)

参数说明:

参数名

输入/输出

说明

bnVarSize

输入

方差数据的个数。

GetBnVarSize

函数功能:

获取方差数据的个数。

函数原型:

uint32_t GetBnVarSize() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

方差数据的个数。

DetectionOutputOperator配置接口

SetNumGridsWidth

函数功能:

配置宽度方向上grid数量。

函数原型:

void SetNumGridsWidth(uint32_t numGridsWidth)

参数说明:

参数名

输入/输出

说明

numGridsWidth

输入

宽度方向上grid数量。

GetNumGridsWidth

函数功能:

获取宽度方向上grid数量。

函数原型:

uint32_t GetNumGridsWidth() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

宽度方向上grid数量。

SetNumGridsHeight

函数功能:

配置高度方向上grid数量。

函数原型:

void SetNumGridsHeight(uint32_t numGridsHeight)

参数说明:

参数名

输入/输出

说明

numGridsHeight

输入

高度方向上grid数量。

GetNumGridsHeight

函数功能:

获取高度方向上grid数量。

函数原型:

uint32_t GetNumGridsHeight() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

高度方向上grid数量。

SetNumAnchors

函数功能:

配置总框数。与SetNumBboxesPerGrid不同时使用。

函数原型:

void SetNumAnchors(uint32_t numAnchors)

参数说明:

参数名

输入/输出

说明

numAnchors

输入

总框数。

1GetNumAnchors

函数功能:

获取总框数。与SetNumBboxesPerGrid不同时使用。

函数原型:

uint32_t GetNumAnchors() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

总框数。

SetNumBboxesPerGrid

函数功能:

配置每个grid中框的数量。与SetNumAnchors不同时使用。

函数原型:

void SetNumBboxesPerGrid(uint32_t numBboxesPerGrid)

参数说明:

参数名

输入/输出

说明

numBboxesPerGrid

输入

每个grid中框的数量。

GetNumBboxesPerGrid

函数功能:

获取每个grid中框的数量。与SetNumAnchors不同时使用。

函数原型:

uint32_t GetNumBboxesPerGrid() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

每个grid中框的数量。

SetNumCoords

函数功能:

配置Coords的数量。

函数原型:

void SetNumCoords(uint32_t numCoords)

参数说明:

参数名

输入/输出

说明

numCoords

输入

Coords的数量。

GetNumCoords

函数功能:

获取Coords的数量。

函数原型:

uint32_t GetNumCoords() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

Coords的数量。

SetNumClasses

函数功能:

配置类型总数。

函数原型:

void SetNumClasses(uint32_t numClasses)

参数说明:

参数名

输入/输出

说明

numClasses

输入

类型总数。

GetNumClasses

函数功能:

获取类型总数。

函数原型:

uint32_t GetNumClasses() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

类型总数。

PushDetectionOutputParam

函数功能:

设置一组后处理参数,每组参数对应一个Proposal处理。

函数原型:

void PushDetectionOutputParam(const DetectionOutputParam &detectionOutputParam)

参数说明:

参数名

输入/输出

说明

detectionOutputParam

输入

一组后处理参数,参数使用DetectionOutputParam结构体表征,每组参数对应一个Proposal处理。

SetDetectionOutputParamVec

函数功能:

一次性设置多组后处理参数,每组参数对应一个Proposal处理。

函数原型:

void SetDetectionOutputParamVec(const vector<DetectionOutputParam> &detectionOutputParamVec)

参数说明:

参数名

输入/输出

说明

detectionOutputParamVec

输入

多组后处理参数构成的队列。参数使用DetectionOutputParam结构体表征,每组参数对应一个Proposal处理。

GetDetectionOutputParamVec

函数功能:

获取多组后处理参数,每组参数对应一个Proposal处理。

函数原型:

const vector<DetectionOutputParam>& GetDetectionOutputParamVec() const

参数说明:

参数名

输入/输出

说明

const vector<DetectionOutputParam>&

输出

多组后处理参数构成的队列。参数使用DetectionOutputParam结构体表征,每组参数对应一个Proposal处理。

BiasOperator配置接口

SetAxis接口参考SetAxis章节,其默认值为1。

SetBiasNumAxes

函数功能:

配置参与运算的维度数量,与SetAxis配合使用。

函数原型:

void SetBiasNumAxes(int32_t value)

参数说明:

参数名

输入/输出

说明

value

输入

参与运算的维度数量。

GetBiasNumAxes

函数功能:

获取参与运算的维度数量,与SetAxis配合使用。

函数原型:

int32_t GetBiasNumAxes() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

参与运算的维度数量。

SetBiasPtr

函数功能:

配置偏移量数据的指针,要求配置偏移量数据的大小要与SetBiasShapeVec设置的shape包含的数据量大小保持一致。

函数原型:

void SetBiasPtr(const float *ptr)

参数说明:

参数名

输入/输出

说明

ptr

输入

偏移量数据的指针。

GetBiasPtr

函数功能:

获取偏移量数据的指针。

函数原型:

const float* GetBiasPtr() const

参数说明:

参数名

输入/输出

说明

const float *

输出

偏移量数据的指针。

SetBiasShapeVec

函数功能:

配置偏移量参数的shape。

函数原型:

void SetBiasShapeVec(const vector<int32_t> &shape)

参数说明:

参数名

输入/输出

说明

shape

输入

偏移量参数的shape。

GetBiasShapeVec

函数功能:

获取偏移量参数的shape。

函数原型:

const vector<int32_t>& GetBiasShapeVec() const

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

偏移量参数的shape。

ConcatOperator配置接口

SetAxis接口参考SetAxis章节,其默认值为1。

CropOperator配置接口

SetAxis接口参考部分算子通用接口章节,其默认值为1。

SetOrigOffsetVec

函数功能:

配置所有轴方向上的偏移量值。

函数原型:

void SetOrigOffsetVec(const vector<uint32_t> &offsetVec)

参数说明:

参数名

输入/输出

说明

offsetVec

输入

所有轴方向上的偏移量值。

GetOrigOffsetVec

函数功能:

获取所有轴方向上的偏移量值。

函数原型:

const vector<uint32_t>& GetOrigOffsetVec() const

参数说明:

参数名

输入/输出

说明

const vector<uint32_t>&

输出

所有轴方向上的偏移量值。

AddOrigOffset

函数功能:

添加一个轴方向上的偏移量值。

函数原型:

void AddOrigOffset(uint32_t offset)

参数说明:

参数名

输入/输出

说明

offset

输入

一个轴方向上的偏移量值。

PreprocessOperator配置接口

SetShapeParamVec

函数功能:

配置输入数据的shape信息。

函数原型:

void SetShapeParamVec(const vector<int32_t> &shapeParamVec)

参数说明:

参数名

输入/输出

说明

shapeParamVec

输入

输入数据的shape信息。

GetShapeParamVec

函数功能:

获取输入数据的shape信息。

函数原型:

const vector<int32_t>& GetShapeParamVec() const

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

输入数据的shape信息。

AddShapeParam

函数功能:

添加一组输入数据对的维度dim值。

函数原型:

void AddShapeParam(int32_t shapeParam)

参数说明:

参数名

输入/输出

说明

shapeParam

输入

一组输入数据对的维度dim值。

SetPreprocessScale

函数功能:

配置AAPP所有图像通道的scale参数。通道数需要与SetPreprocessMean相同,与SetModelFormat对应的图像格式通道数相同。

函数原型:

void SetPreprocessScale(const vector<float> preprocessScale)

参数说明:

参数名

输入/输出

说明

preprocessScale

输入

所有图像通道的AAPP scale参数。

GetPreprocessScale

函数功能:

获取AAPP所有图像通道的scale参数。通道数需要与SetPreprocessMean相同,与SetModelFormat对应的图像格式通道数相同。

函数原型:

const vector<float> GetPreprocessScale() const

参数说明:

参数名

输入/输出

说明

const vector<float>

输出

所有图像通道的AAPP scale参数。

SetPreprocessMean

函数功能:

配置AAPP所有图像通道的mean参数。通道数需要与SetPreprocessScale相同,与SetModelFormat对应的图像格式通道数相同。

函数原型:

void SetPreprocessMean(const vector<float> preprocessMean)

参数说明:

参数名

输入/输出

说明

preprocessMean

输入

所有图像通道的AAPP mean参数。

GetPreprocessMean

函数功能:

获取AAPP所有图像通道的mean参数。通道数需要与SetPreprocessScale相同,与SetModelFormat对应的图像格式通道数相同。

函数原型:

const vector<float> GetPreprocessMean() const

参数说明:

参数名

输入/输出

说明

const vector<float>

输出

所有图像通道的AAPP mean参数。

SetInputFormat

函数功能:

配置AAPP输入图像格式参数。

函数原型:

void SetInputFormat(const ImageType inputFormat)

参数说明:

参数名

输入/输出

说明

inputFormat

输入

AAPP 输入图像格式。以枚举值ImageType表征,配置枚举值有:

IMAGE_NONE

IMAGE_BGR_PLANAR

IMAGE_YUV420SP

IMAGE_YVU420SP

IMAGE_YUV422SP

IMAGE_YVU422SP

IMAGE_YUV400

IMAGE_RGB_PLANAR

IMAGE_RGB_PACKAGE

IMAGE_BGR_PACKAGE

IMAGE_XRGB_PLANAR

IMAGE_XBGR_PLANAR

IMAGE_RGBX_PLANAR

IMAGE_BGRX_PLANAR

IMAGE_XRGB_PACKAGE

IMAGE_XBGR_PACKAGE

IMAGE_RGBX_PACKAGE

IMAGE_BGRX_PACKAGE

IMAGE_RAW_RGGB

IMAGE_RAW_GRBG

IMAGE_RAW_GBRG

IMAGE_RAW_BGGR

默认值为IMAGE_NONE,即feature map输入。

GetInputFormat

函数功能:

获取AAPP输入图像格式参数。

函数原型:

const ImageType GetInputFormat() const

参数说明:

参数名

输入/输出

说明

const ImageType

输出

AAPP 输入图像格式。以枚举值ImageType表征,配置枚举值有:

IMAGE_NONE

IMAGE_BGR_PLANAR

IMAGE_YUV420SP

IMAGE_YVU420SP

IMAGE_YUV422SP

IMAGE_YVU422SP

IMAGE_YUV400

IMAGE_RGB_PLANAR

IMAGE_RGB_PACKAGE

IMAGE_BGR_PACKAGE

IMAGE_XRGB_PLANAR

IMAGE_XBGR_PLANAR

IMAGE_RGBX_PLANAR

IMAGE_BGRX_PLANAR

IMAGE_XRGB_PACKAGE

IMAGE_XBGR_PACKAGE

IMAGE_RGBX_PACKAGE

IMAGE_BGRX_PACKAGE

IMAGE_RAW_RGGB

IMAGE_RAW_GRBG

IMAGE_RAW_GBRG

IMAGE_RAW_BGGR

默认值为IMAGE_NONE,即feature map输入。

SetModelFormat

函数功能:

配置AAPP模型训练与执行时图像通道排布顺序。

函数原型:

void SetModelFormat(const RgbxOrderType modelFormat)

参数说明:

参数名

输入/输出

说明

modelFormat

输入

AAPP模型训练与执行时图像通道排布顺序。以枚举值RgbxOrderType表征,配置枚举值有:

ORDER_IGNORE

ORDER_RGB

ORDER_BGR

ORDER_XRGB

ORDER_XBGR

ORDER_RGBX

ORDER_BGRX

ORDER_RGGB

ORDER_GRBG

ORDER_GBRG

ORDER_BGGR

默认值为ORDER_IGNORE,对应feature map输入。

GetModelFormat

函数功能:

获取AAPP模型训练与执行时图像通道排布顺序。

函数原型:

const RgbxOrderType GetModelFormat() const

参数说明:

参数名

输入/输出

说明

const RgbxOrderType

输出

AAPP模型训练与执行时图像通道排布顺序。以枚举值RgbxOrderType表征,配置枚举值有:

ORDER_IGNORE

ORDER_RGB

ORDER_BGR

ORDER_XRGB

ORDER_XBGR

ORDER_RGBX

ORDER_BGRX

ORDER_RGGB

ORDER_GRBG

ORDER_GBRG

ORDER_BGGR

默认值为ORDER_IGNORE,对应feature map输入。

ReshapeOperator配置接口

SetAxis接口参考SetAxis章节,其默认值为1。

须知: 当axis<0时,实际起始维度为axis+1。如当shape=NCHW时,axis=-2,意味着仅对W轴reshape。

SetReshapeNumAxes

函数功能:

设置计算从输入shape的axis开始做几个维度的reshape。

函数原型:

void SetReshapeNumAxes(int32_t reshapeNumAxes)

参数说明:

参数名

输入/输出

说明

reshapeNumAxes

输入

表示计算从输入shape的axis开始做几个维度的reshape。

GetReshapeNumAxes

函数功能:

获取计算输出Shape的维度数。

函数原型:

int32_t GetReshapeNumAxes() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

计算从输入shape的axis开始做几个维度的reshape。

SetReshapeDimVec

函数功能:

配置输出的维度shape信息。

函数原型:

void SetReshapeDimVec(const vector<int32_t> &reshapeDimVec)

参数说明:

参数名

输入/输出

说明

reshapeDimVec

输入

输出的维度shape信息。

GetReshapeDimVec

函数功能:

获取输出的维度shape信息。

函数原型:

const vector<int32_t>& GetReshapeDimVec() const

参数说明:

参数名

输入/输出

说明

const vector<int32_t>

输出

输出的维度shape信息。

AddReshapeDim

函数功能:

添加输出数据一个维度的维度dim值。

函数原型:

void AddReshapeDim(int32_t reshapeDim)

参数说明:

参数名

输入/输出

说明

reshapeDim

输入

输出数据一个维度的维度dim值。

FlattenOperator配置接口

SetFlattenStartAxis

函数功能:

配置flatten的开始轴。

函数原型:

void SetFlattenStartAxis(int32_t flattenStartAxis)

参数说明:

参数名

输入/输出

说明

flattenStartAxis

输入

需要flatten的开始轴,可以为负数,如果为-1表示最后一个轴,默认值为1。

GetFlattenStartAxis

函数功能:

获取flatten的开始轴。

函数原型:

int32_t GetFlattenStartAxis() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

flatten的开始轴,可以为负数,如果为-1表示最后一个轴,默认值为1。

SetFlattenEndAxis

函数功能:

配置flatten的结束轴。

函数原型:

void SetFlattenEndAxis(int32_t flattenEndAxis)

参数说明:

参数名

输入/输出

说明

flattenEndAxis

输入

需要flatten的结束轴,可以为负数,如果为-1表示最后一个轴,默认值1。

GetFlattenEndAxis

函数功能:

获取flatten的结束轴。

函数原型:

int32_t GetFlattenEndAxis() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

flatten的结束轴,可以为负数,如果为-1表示最后一个轴,默认值1。

ShuffleChannelOperator配置接口

SetShuffleChannelGroup

函数功能:

配置通道分组数。

函数原型:

void SetShuffleChannelGroup(int32_t group)

参数说明:

参数名

输入/输出

说明

group

输入

通道分组数。必须大于0,且channel必须能被group整除,默认为1。

GetShuffleChannelGroup

函数功能:

获取通道分组数。

函数原型:

int32_t GetShuffleChannelGroup() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

通道分组数。必须大于0,且channel必须能被group整除,默认为1。

SliceOperator配置接口

SetAxis接口参考SetAxis章节,其默认值为1。

SetSliceDim

函数功能:

配置切分沿哪个轴进行。

函数原型:

void SetSliceDim(uint32_t sliceDim)

参数说明:

参数名

输入/输出

说明

sliceDim

输入

切分沿哪个轴进行,默认为1,跟axis含义相同。

GetSliceDim

函数功能:

获取切分沿哪个轴进行。

函数原型:

uint32_t GetSliceDim() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

切分沿哪个轴进行,默认为1,跟axis含义相同。

SetSlicePointVec

函数功能:

配置输出数据的各个切割点。

函数原型:

void SetSlicePointVec(const vector<uint32_t> &slicePointVec)

参数说明:

参数名

输入/输出

说明

slicePointVec

输入

输出数据的各个切割点。

GetSlicePointVec

函数功能:

获取输出数据的各个切割点。

函数原型:

const vector<uint32_t>& GetSlicePointVec() const

参数说明:

参数名

输入/输出

说明

const vector<uint32_t>&

输出

输出数据的各个切割点。

AddSlicePoint

函数功能:

添加输出数据一个切割点。

函数原型:

void AddSlicePoint(uint32_t slicePoint)

参数说明:

参数名

输入/输出

说明

slicePoint

输入

表示输出数据一个切割点。

SplitOperator配置接口

无参数配置。

ExtractOperator配置接口

SetAxis接口参考SetAxis章节,其默认值为1。

SetSliceDim

函数功能:

配置切分沿哪个轴进行。

函数原型:

void SetSliceDim(uint32_t sliceDim)

参数说明:

参数名

输入/输出

说明

sliceDim

输入

切分沿哪个轴进行,默认为1,跟axis含义相同。

GetSliceDim

函数功能:

获取切分沿哪个轴进行。

函数原型:

uint32_t GetSliceDim() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

切分沿哪个轴进行。

SetSlicePointBegin

函数功能:

配置切割的开始位置。

函数原型:

void SetSlicePointBegin(uint32_t slicePointBegin)

参数说明:

参数名

输入/输出

说明

slicePointBegin

输入

切割的开始位置。

GetSlicePointBegin

函数功能:

获取切割的开始位置。

函数原型:

uint32_t GetSlicePointBegin() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

切割的开始位置。

SetSlicePointEnd

函数功能:

配置切割的结束位置。

函数原型:

void SetSlicePointEnd(uint32_t slicePointEnd)

参数说明:

参数名

输入/输出

说明

slicePointEnd

输入

切割的结束位置。

GetSlicePointEnd

函数功能:

获取切割的结束位置。

函数原型:

uint32_t GetSlicePointEnd() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

切割的结束位置。

TileOperator配置接口

SetAxis接口参考SetAxis章节,其默认值为1。

SetTileTiles

函数功能:

配置扩展的倍数。与SetAxis配合使用。与SetTileRepeats不同时使用。

函数原型:

void SetTileTiles(int32_t tileTiles)

参数说明:

参数名

输入/输出

说明

tileTiles

输入

扩展的倍数,比如输入shape [n,c,h,w],axis=2,tileTiles =3,那么输出shape [n,c,3*h,w]。

GetTileTiles

函数功能:

获取扩展的倍数。与SetAxis配合使用。与SetTileRepeats不同时使用。

函数原型:

int32_t GetTileTiles() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

扩展的倍数,比如输入shape [n,c,h,w],axis=2,tileTiles =3,那么输出shape [n,c,3*h,w]。

SetTileRepeats

函数功能:

配置在各个维度上的扩展倍数。与SetAxis、SetTileTiles不同时使用。

函数原型:

void SetTileRepeats(vector<int64_t> tileRepeats)

参数说明:

参数名

输入/输出

说明

tileRepeats

输入

在各个维度上的扩展倍数。

GetTileRepeats

函数功能:

获取在各个维度上的扩展倍数。与SetAxis、SetTileTiles不同时使用。

函数原型:

vector<int64_t> GetTileRepeats() const

参数说明:

参数名

输入/输出

说明

vector<int64_t>

输出

在各个维度上的扩展倍数。

PermuteOperator配置接口

SetOutputDimOrderFormat

函数功能:

配置维度顺序格式的转换类型。

函数原型:

void SetOutputDimOrderFormat(DimOrderFormat format)

参数说明:

参数名

输入/输出

说明

format

输入

维度顺序格式的转换类型,使用枚举值DimOrderFormat表征,可配枚举值有:

NCHW_FORMAT:表示NHWC->NCHW的转换;

NHWC_FORMAT:表示NCHW->NHWC的转换。

GetOutputDimOrderFormat

函数功能:

获取维度顺序格式的转换类型。

函数原型:

DimOrderFormat GetOutputDimOrderFormat() const

参数说明:

参数名

输入/输出

说明

DimOrderFormat

输出

维度顺序格式的转换类型,使用枚举值DimOrderFormat表征,可配枚举值有:

NCHW_FORMAT:表示NHWC->NCHW的转换;

NHWC_FORMAT:表示NCHW->NHWC的转换。

SetOutputDimOrder

函数功能:

配置输出维度顺序。

函数原型:

void SetOutputDimOrder(const vector<uint32_t> &permuteOrder)

参数说明:

参数名

输入/输出

说明

permuteOrder

输入

输出维度顺序。

GetOutputDimOrder

函数功能:

获取输出维度顺序。

函数原型:

const vector<uint32_t>& GetOutputDimOrder() const

参数说明:

参数名

输入/输出

说明

const vector<uint32_t>&

输出

输出维度顺序。

BnllOperator配置接口

无参数配置。

LogOperator配置接口

SetLogBase

函数功能:

配置底数的值。

函数原型:

void SetLogBase(float logBase)

参数说明:

参数名

输入/输出

说明

logBase

输入

底数的值。默认为-1,表示e。

GetLogBase

函数功能:

获取底数的值。

函数原型:

float GetLogBase() const

参数说明:

参数名

输入/输出

说明

float

输出

底数的值。默认为-1,表示e。

SetLogScale

函数功能:

配置缩放系数的值。

函数原型:

void SetLogScale(float logScale)

参数说明:

参数名

输入/输出

说明

logScale

输入

缩放系数的值。默认为1。

GetLogScale

函数功能:

获取缩放系数的值。

函数原型:

float GetLogScale() const

参数说明:

参数名

输入/输出

说明

float

输出

缩放系数的值。默认为1。

SetLogShift

函数功能:

配置偏移量的值。

函数原型:

void SetLogShift(float logShift)

参数说明:

参数名

输入/输出

说明

logShift

输入

偏移量的值。默认为0。

GetLogShift

函数功能:

获取偏移量的值。

函数原型:

float GetLogShift() const

参数说明:

参数名

输入/输出

说明

float

输出

偏移量的值。默认为0。

AbsvalOperator配置接口

无参数配置。

EluOperator配置接口

SetEluAlpha

函数功能:

配置Alpha系数的值。

函数原型:

void SetEluAlpha(float eluAlpha)

参数说明:

参数名

输入/输出

说明

eluAlpha

输入

Alpha系数的值。

GetEluAlpha

函数功能:

获取Alpha系数的值。

函数原型:

float GetEluAlpha() const

参数说明:

参数名

输入/输出

说明

float

输出

Alpha系数的值。

SigmoidOperator配置接口

无参数配置。

TanhOperator配置接口

无参数配置。

HswishOperator配置接口

SetHswishSlope

函数功能:

配置斜率值。

函数原型:

void SetHswishSlope(float slope)

参数说明:

参数名

输入/输出

说明

slope

输入

斜率值。默认为0。

GetHswishSlope

函数功能:

获取斜率值。

函数原型:

float GetHswishSlope() const

参数说明:

参数名

输入/输出

说明

float

输出

斜率值。默认为0。

PreluOperator配置接口

SetPreluIsChannelShared

函数功能:

配置斜率参数是不是各个通道共享的。

函数原型:

void SetPreluIsChannelShared(bool preluIsChannelShared)

参数说明:

参数名

输入/输出

说明

preluIsChannelShared

输入

斜率参数是不是各个通道共享的。

GetPreluIsChannelShared

函数功能:

获取斜率参数是不是各个通道共享的。

函数原型:

bool GetPreluIsChannelShared() const

参数说明:

参数名

输入/输出

说明

bool

输出

斜率参数是不是各个通道共享的。

SetAlphaNegVec

函数功能:

设置所有通道的斜率数据。

函数原型:

void SetAlphaNegVec(const vector<float> &vec)

参数说明:

参数名

输入/输出

说明

vec

输入

所有通道的斜率数据。

GetAlphaNegVec

函数功能:

获取所有通道的斜率数据。

函数原型:

const vector<float>& GetAlphaNegVec() const

参数说明:

参数名

输入/输出

说明

const vector<float>&

输出

所有通道的斜率数据。

PushAlphaNegVec

函数功能:

添加一组斜率数据。

函数原型:

void PushAlphaNegVec(float value)

参数说明:

参数名

输入/输出

说明

value

输入

一组斜率数据。

ReluOperator配置接口

SetAlpha

函数功能:

设置斜率数据。

函数原型:

void SetAlpha(float alpha)

参数说明:

参数名

输入/输出

说明

alpha

输入

斜率值。

GetAlpha

函数功能:

获取斜率数据。

函数原型:

float GetAlpha() const

参数说明:

参数名

输入/输出

说明

float

输出

斜率数据。

ClipOperator配置接口

SetClipCeil

函数功能:

配置截取的上阈值。

函数原型:

void SetClipCeil(float value)

参数说明:

参数名

输入/输出

说明

value

输入

截取的上阈值。

GetClipCeil

函数功能:

获取截取的上阈值。

函数原型:

float GetClipCeil() const

参数说明:

参数名

输入/输出

说明

float

输出

截取的上阈值。

SetClipFloor

函数功能:

配置截取的下阈值。

函数原型:

void SetClipFloor(float value)

参数说明:

参数名

输入/输出

说明

value

输入

截取的下阈值。

GetClipFloor

函数功能:

获取截取的下阈值。

函数原型:

float GetClipFloor() const

参数说明:

参数名

输入/输出

说明

float

输出

截取的下阈值。

ConstantOfShapeOperator配置接口

该算子不能作为网络输出层。

SetValue

函数功能:

配置设置的数值。

函数原型:

void SetValue(float val)

参数说明:

参数名

输入/输出

说明

val

输入

设置的数值。

GetValue

函数功能:

获取设置的数值。

函数原型:

float GetValue() const

参数说明:

参数名

输入/输出

说明

float

输出

设置的数值。

SetShape

函数功能:

设置维度尺寸shape。

函数原型:

void SetShape(const vector<int32_t> &shape)

参数说明:

参数名

输入/输出

说明

shape

输入

维度尺寸shape。

GetShape

函数功能:

获取维度尺寸shape。

函数原型:

const vector<int32_t>& GetShape() const

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

维度尺寸shape。

ShapeOperator配置接口

无参数配置。该算子不能作为网络输出层。

SqueezeOperator配置接口

SetSqueezeAxisVec

函数功能:

配置需要压缩删除的轴。

函数原型:

void SetSqueezeAxisVec(const vector<int32_t> &squeezeDimVec)

参数说明:

参数名

输入/输出

说明

squeezeDimVec

输入

需要压缩删除的轴。

GetSqueezeAxisVec

函数功能:

获取需要压缩删除的轴。

函数原型:

const vector<int32_t>& GetSqueezeAxisVec() const

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

需要压缩删除的轴。

UnsqueezeOperator配置接口

SetUnsqueezeAxisVec

函数功能:

配置需要插入轴的位置。

函数原型:

void SetUnsqueezeAxisVec(const vector<int32_t> &unsqueezeDimVec)

参数说明:

参数名

输入/输出

说明

unsqueezeDimVec

输入

需要插入轴的位置。

GetUnsqueezeAxisVec

函数功能:

获取需要插入轴的位置。

函数原型:

const vector<int32_t>& GetUnsqueezeAxisVec() const

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

需要插入轴的位置。

CustomOperator配置接口

SetExtendedOpType

函数功能:

配置当前自定义算子的类型名称。

函数原型:

void SetExtendedOpType(string extendedOpType)

参数说明:

参数名

输入/输出

说明

extendedOpType

输入

当前自定义算子的类型名称,以字符串形式配置。

GetExtendedOpType

函数功能:

获取当前自定义算子的类型名称。

函数原型:

string GetExtendedOpType() const

参数说明:

参数名

输入/输出

说明

string

输出

当前自定义算子的类型名称,以字符串形式配置。

SetExtendedAttrs

函数功能:

配置自定义算子的全部扩展属性。

函数原型:

void SetExtendedAttrs(const vector<ExtendedAttr> &extendedAttrs)

参数说明:

参数名

输入/输出

说明

extendedAttrs

输入

自定义算子的扩展属性队列,每项以ExtendedAttr的类对象表征。其构造过程为:

  1. 构造ExtendedParam对象,配置其name、type、paramInt等属性。
  2. 调用ExtendedAttr:: SetExtendedParam 方法绑定给一个ExtendedAttr对象。
  3. 重复1、2步骤完成每项参数配置,并插入队列。

关于ExtendedAttr与ExtendedParam更多信息,可以参考自定义算子相关章节。

GetExtendedAttrs

函数功能:

获取自定义算子的全部扩展属性。

函数原型:

const vector<ExtendedAttr>& GetExtendedAttrs() const

参数说明:

参数名

输入/输出

说明

const vector<ExtendedAttr>&

输出

自定义算子的扩展属性队列,每项以ExtendedAttr的类对象表征。其构造过程为:

  1. 构造ExtendedParam对象,配置其name、type、paramInt等属性。
  2. 调用ExtendedAttr:: SetExtendedParam 方法绑定给一个ExtendedAttr对象。
  3. 重复1、2步骤完成每项参数配置,并插入队列。

关于ExtendedAttr与ExtendedParam更多信息,可以参考自定义算子相关章节。

MishOperator配置接口

无参数配置。

AcoshOperator配置接口

无参数配置。

AtanhOperator配置接口

无参数配置。

CoshOperator配置接口

无参数配置。

HardSigmoidOperator配置接口

SetHardSigmoidAlpha

函数功能:

配置Alpha系数的值。

函数原型:

void SetHardSigmoidAlpha(float alpha)

参数说明:

参数名

输入/输出

说明

alpha

输入

Alpha系数的值。

GetHardSigmoidAlpha

函数功能:

返回配置的Alpha系数的值。

函数原型:

float GetHardSigmoidAlpha() const

参数说明:

参数名

输入/输出

说明

float

输出

返回配置的Alpha系数的值。

SetHardSigmoidBeta

函数功能:

配置Beta系数的值。

函数原型:

void SetHardSigmoidBeta(float beta)

参数说明:

参数名

输入/输出

说明

beta

输入

Beta系数的值。

GetHardSigmoidBeta

函数功能:

返回配置的Beta系数的值。

函数原型:

float GetHardSigmoidBeta() const

参数说明:

参数名

输入/输出

说明

float

输出

返回配置的Beta系数的值。

MaxUnPoolOperator配置接口

SetKernelShapeVec

函数功能:

配置内核数据的所有Shape信息。

函数原型:

void SetKernelShapeVec(constvector<int32_t>& kernelshapevec)

参数说明:

参数名

输入/输出

说明

kernelshapevec

输入

保存内核数据shape信息的队列。

PushKernelShape

函数功能:

添加内核数据的一个shape维度数据。

函数原型:

void PushKernelShape(int32_t val)

参数说明:

参数名

输入/输出

说明

val

输入

一个shape维度数据。

GetKernelShapeVec

函数功能:

获取配置内核数据的所有Shape信息。

函数原型:

const vector<int32_t>& GetKernelShapeVec() const

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

获取保存内核数据shape信息的队列。

SetPadsVec

函数功能:

配置输入的所有pad信息。

函数原型:

void SetPadsVec(const vector<int32_t>& padsvec)

参数说明:

参数名

输入/输出

说明

padsvec

输入

保存输入的pad信息队列,pad的顺序为上,左,下,右。

PushPads

函数功能:

添加输入的一个pad数据。

函数原型:

void PushPads(int32_t val)

参数说明:

参数名

输入/输出

说明

val

输入

输入的一个pad数据。

GetPadsVec

函数功能:

获取配置内核数据的所有pad信息队列。

函数原型:

const vector<int32_t>& GetPadsVec() const

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

获取保存输入的pad信息队列。

SetStridesVec

函数功能:

配置输入的所有stride信息。

函数原型:

void SetStridesVec(const vector<int32_t>& stridesvec)

参数说明:

参数名

输入/输出

说明

stridesvec

输入

保存输入的stride信息队列。

PushStrides

函数功能:

添加输入的一个stride数据。

函数原型:

void PushStrides(int32_t val)

参数说明:

参数名

输入/输出

说明

val

输入

输入的一个stride数据。

GetStridesVec

函数功能:

获取配置内核数据的所有stride信息。

函数原型:

const vector<int32_t>& GetStridesVec() const

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

获取保存输入的stride信息队列。

GetGlobalPoolingFlag

函数功能:

获取GlobalPooling信息。

函数原型:

bool GetGlobalPoolingFlag() const;

参数说明:

参数名

输入/输出

说明

bool

输出

获取输入的GlobalPooling信息。

SetGlobalPoolingFlag

函数功能:

设置GlobalPooling信息。

函数原型:

void SetGlobalPoolingFlag(bool globalPoolingFlag);

参数说明:

参数名

输入/输出

说明

globalPoolingFlag

输入

设置输入的GlobalPooling信息。

ShrinkOperator配置接口

SetShrinkBias

函数功能:

配置输出数据的偏移信息。

函数原型:

void SetShrinkBias(float bias)

参数说明:

参数名

输入/输出

说明

bias

输入

输出数据的偏移信息。

GetShrinkBias

函数功能:

获取配置输出数据的偏移信息。

函数原型:

float GetShrinkBias() const

参数说明:

参数名

输入/输出

说明

float

输出

配置输出数据的偏移信息。

SetShrinkLambd

函数功能:

配置Shrink公式的lambd值。

函数原型:

void SetShrinkLambd(float lambd)

参数说明:

参数名

输入/输出

说明

lambd

输入

Shrink公式的lambd值。

GetShrinkLambd

函数功能:

获取配置Shrink公式的lambd值。

函数原型:

float GetShrinkLambd() const

参数说明:

参数名

输入/输出

说明

float

输出

配置Shrink公式的lambd值。

SoftSignOperator配置接口

无参数配置。

PadOperator配置接口

SetPadMode

函数功能:

设置pad模式,目前支持"constant"、"reflect"、"edge"三种模式。

函数原型:

void SetPadMode(PadMode mode)

参数说明:

参数名

输入/输出

说明

mode

输入

pad运算方式:

constant 填充由常量值指定的给定常量值(默认为0、空字符串或False);

reflect 将矢量的反射沿每个轴镜像在矢量的第一个值和最后一个值上;

edge 数组的边值填充;

默认为constant填充。

GetPadMode

函数功能:

获取设置的pad模式,目前支持"constant"、"reflect"、"edge"三种模式。

函数原型:

PadMode GetPadMode() const

参数说明:

参数名

输入/输出

说明

PadMode

输出

获取pad运算模式:

constant 填充由常量值指定的给定常量值(默认为0、空字符串或False);

reflect 将矢量的反射沿每个轴镜像在矢量的第一个值和最后一个值上;

edge 数组的边值填充;

默认为constant填充。

SetPadsLocVec

函数功能:

配置所有填充或删除的起始与结束轴列。

函数原型:

void SetPadsLocVec(const vector<int32_t>& padslocvec)

参数说明:

参数名

输入/输出

说明

padslocvec

输入

保存所有填充或删除的起始与结束轴列。

PushPadsLoc

函数功能:

添加一个填充或删除的起始与结束轴列。

函数原型:

void PushPadsLoc(int32_t val)

参数说明:

参数名

输入/输出

说明

val

输入

输入的一个填充或删除的起始与结束轴列。

GetPadsLocVec

函数功能:

获取配置内核数据的所有stride信息。

函数原型:

const vector<int32_t>& GetPadsLocVec() const

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

获取所有填充或删除的起始与结束轴列。

SetPadValue

函数功能:如果mode为"constant"时,配置填充的值。

函数原型:

void SetPadValue(float val)

参数说明:

参数名

输入/输出

说明

val

输入

mode为"constant"时,配置填充的值。

GetPadValue

函数功能:

获取如果mode为"constant"时,配置填充的值。

函数原型:

float GetPadValue() const

参数说明:

参数名

输入/输出

说明

float

输出

mode为"constant"时,获取配置填充的值。

SqrtOperator配置接口

无参数配置。

AcosOperator配置接口

无参数配置。

AsinhOperator配置接口

无参数配置。

BitShiftOperator配置接口

SetBitShiftDirection

函数功能:

配置BitShift移位的方向,目前支持“BIT_SHIFT_LEFT”和“IT_SHIFT_RIGHT”两种。

函数原型:

void SetBitShiftDirection(BitShiftDirection direction)

参数说明:

参数名

输入/输出

说明

Directiondirection

输入

BitShift移位的方向:

BIT_SHIFT_LEFT, 向左移位;

BIT_SHIFT_RIGHT 向右移位。

默认为BIT_SHIFT_LEFT移位。

GetBitShiftDirection

函数功能:

获取配置BitShift移位的方向。

函数原型:

BitShiftDirection GetBitShiftDirection() const

参数说明:

参数名

输入/输出

说明

BitShiftDirection

输出

BitShift移位的方向:

BIT_SHIFT_LEFT, 向左移位;

BIT_SHIFT_RIGHT 向右移位。

默认为BIT_SHIFT_LEFT移位。

GatherElementsOperator配置接口

SetGatherElementsAxis

函数功能:

配置gather的轴。

函数原型:

void SetGatherElementsAxis(int32_t axis)

参数说明:

参数名

输入/输出

说明

axis

输入

配置gather的轴。

GetGatherElementsAxis

函数功能:

获取配置gather的轴。

函数原型:

int32_t GetGatherElementsAxis() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

获取配置gather的轴。

HardMaxOperator配置接口

SetHardmaxAxis

函数功能:

配置Hardmax的运算轴。

函数原型:

void SetHardmaxAxis(int32_t axis)

参数说明:

参数名

输入/输出

说明

axis

输入

Hardmax的运算轴。

GetHardmaxAxis

函数功能:

获取配置Hardmax的运算轴。

函数原型:

int32_t GetHardmaxAxis() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

Hardmax的运算轴。

ModOperator配置接口

SetIsFmod

函数功能:

指示进行fmod还是integer mod。

函数原型:

void SetIsFmod(bool isFmod)

参数说明:

参数名

输入/输出

说明

isFmod

输入

运算符是否应表现为fmod(默认=0,表示它将执行整数mod);将此设置为1以强制fmod处理。

GetIsFmod

函数功能:

获取进行的是fmod还是integer mod。

函数原型:

bool GetIsFmod() const

参数说明:

参数名

输入/输出

说明

bool

输出

若为false,则获取模式为integer mod,表示它将执行整数mod;否则,则执行fmod。

SinhOperator配置接口

无参数配置。

CmpOperator配置接口

SetCompType

函数功能:

配置比较类型,目前支持"COND_GT"、"COND_EQ"、"COND_LT"、"COND_NE"、"COND_GE"、"COND_LE"六种。

函数原型:

void SetCompType(CompType compType )

参数说明:

参数名

输入/输出

说明

compType

输入

比较类型:

COND_GT 大于;

COND_EQ 等于;

COND_LT 小于;

COND_NE 不相等;

COND_GE 大于等于;

COND_LE 小于等于。

默认 COND_GT 大于

GetCompType

函数功能:

获取配置的比较类型。

函数原型:

CompType GetCompType() const

参数说明:

参数名

输入/输出

说明

CompType

输出

获取比较类型:

COND_GT 大于;

COND_EQ 等于;

COND_LT 小于;

COND_NE 不相等;

COND_GE 大于等于;

COND_LE 小于等于。

LogicalOperator配置接口

SetLogicalOperator

函数功能:

配置逻辑运算类型,目前支持 "LOGICAL_AND"、"LOGICAL_OR"、"LOGICAL_XOR"、"LOGICAL_NOT" 四种。

函数原型:

void SetLogicalOperator(LogicalOp op)

参数说明:

参数名

输入/输出

说明

op

输入

逻辑运算类型:

LOGICAL_AND 逻辑与运算;

LOGICAL_OR 逻辑或运算;

LOGICAL_XOR 逻辑异或运算;

LOGICAL_NOT 逻辑非运算。

默认为 LOGICAL_AND 逻辑与运算。

GetLogicalOperator

函数功能:

获取配置的逻辑运算类型。

函数原型:

LogicalOp GetLogicalOperator() const

参数说明:

参数名

输入/输出

说明

LogicalOp

输出

获取的逻辑运算类型:

LOGICAL_AND 逻辑与运算;

LOGICAL_OR 逻辑或运算;

LOGICAL_XOR 逻辑异或运算;

LOGICAL_NOT 逻辑非运算。

SwishOperator配置接口

SetSwishBeta

函数功能:

配置Swish算子中的scale系数Beta。

函数原型:

void SetSwishBeta(const float beta)

参数说明:

参数名

输入/输出

说明

beta

输入

Swish算子中的scale系数Beta。

GetSwishBeta

函数功能:

获取Swish算子中的scale系数Beta。

函数原型:

float GetSwishBeta() const

参数说明:

参数名

输入/输出

说明

float

输出

获取Swish算子中的scale系数Beta。

SilenceOperator配置接口

无参数配置。

LayerNormOperator配置接口

SetAxis接口参考SetAxis章节,其默认值为3,不支持input,scale,bias全部离线场景。

SetEpsilon

函数功能:

Epsilon为了防止除零,默认值1e-5,可以配置。

函数原型:

void SetEpsilon(const float epsilon)

参数说明:

参数名

输入/输出

说明

epsilon

输入

防止除零,默认值1e-5,可以配置。

GetEpsilon

函数功能:

获取Epsilon值,为了防止除零,默认值1e-5。

函数原型:

float GetEpsilon() const

参数说明:

参数名

输入/输出

说明

float

输出

Epsilon值。防止除零,默认值1e-5。

GroupNormOperator配置接口

SetGroupNum

函数功能:

设置运算的分组数量。

函数原型:

void SetGroupNum(const uint32_t groupNum)

参数说明:

参数名

输入/输出

说明

groupNum

输入

运算的分组数量

GetGroupNum

函数功能:

获取运算的分组数量。

函数原型:

uint32_t GetGroupNum() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

运算的分组数量

SetEpsilon

函数功能:

Epsilon为了防止除零,默认值1e-5,可以配置。

函数原型:

void SetEpsilon(const float epsilon)

参数说明:

参数名

输入/输出

说明

epsilon

输入

防止除零,默认值1e-5,可以配置。

GetEpsilon

函数功能:

获取Epsilon值,为了防止除零,默认值1e-5。

函数原型:

float GetEpsilon() const

参数说明:

参数名

输入/输出

说明

float

输出

Epsilon值。防止除零,默认值1e-5。

SetBiasShapeVec

函数功能:

配置权重数据的所有shape信息。

函数原型:

void SetBiasShapeVec(const vector<int32_t> &biasShapeVec)

参数说明:

参数名

输入/输出

说明

SetBiasShapeVec

输入

保存偏移数据shape信息的队列。

AddBiasShape

函数功能:

添加权重数据的一个shape信息。

函数原型:

void AddBiasShape(const int32_t biasShape)

参数说明:

参数名

输入/输出

说明

AddBiasShape

输入

一个偏移数据shape信息。

GetBiasShapeVec

函数功能:

获取偏移数据的所有shape信息。

函数原型:

const vector<int32_t>& GetBiasShapeVec() const

参数说明:

参数名

输入/输出

说明

const vector<int32_t>&

输出

偏移数据shape信息的队列。

GemmOperator配置接口

SetAlpha

函数功能:

配置Gemm算子中的Alpha参数。

函数原型:

void SetAlpha(float alpha)

参数说明:

参数名

输入/输出

说明

float

输入

配置Gemm算子的Alpha参数。

GetAlpha

函数功能:

获取Gemm算子中的Alpha参数。

函数原型:

float GetAlpha() const

参数说明:

参数名

输入/输出

说明

float

输出

获取Gemm算子中的Alpha参数。

SetBeta

函数功能:

配置Gemm算子中的Beta参数。

函数原型:

void SetBeta(float beta)

参数说明:

参数名

输入/输出

说明

float

输入

配置Gemm算子中的Beta参数。

GetBeta

函数功能:

获取Gemm算子中的Beta参数。

函数原型:

float GetBeta() const

参数说明:

参数名

输入/输出

说明

float

输出

获取Gemm算子中的Beta参数。

SetTransA

函数功能:

配置Gemm算子中的TransA参数。

函数原型:

void SetTransA(bool transA)

参数说明:

参数名

输入/输出

说明

bool

输入

配置Gemm算子中的TransA参数。

GetTransA

函数功能:

获取Gemm算子中的TransA参数。

函数原型:

bool GetTransA() const

参数说明:

参数名

输入/输出

说明

bool

输出

获取Gemm算子中的TransA参数。

SetTransB

函数功能:

配置Gemm算子中的TransB参数。

函数原型:

void SetTransB(bool transB)

参数说明:

参数名

输入/输出

说明

bool

输入

配置Gemm算子中的TransB参数。

GetTransB

函数功能:

获取Gemm算子中的TransB参数。

函数原型:

bool GetTransB() const

参数说明:

参数名

输入/输出

说明

bool

输出

获取Gemm算子中的TransB参数。

SetWeightBiasQuanted

函数功能:

Gemm的第二个和第三个参数是离线且满足转SVP NNN实现时,该接口用于说明离线参数是否是量化后的数据,true表示量化数据,false表示浮点数据。

函数原型:

void SetWeightBiasQuanted(bool isWeightBiasQuanted)

参数说明:

参数名

输入/输出

说明

bool

输入

用于配置离线参数是否是量化后的数据。

GetWeightBiasQuanted

函数功能:

Gemm的第二个和第三个参数是离线且满足转SVP NNN实现时,该接口用于获取离线参数是否是量化后的数据,true表示量化数据,false表示浮点数据。

函数原型:

bool GetWeightBiasQuanted() const

参数说明:

参数名

输入/输出

说明

bool

输出

用于获取离线参数是否是量化后的数据。

RoundOperator配置接口

SetRoundType

函数功能:

配置取整方式,目前支持"ROUND_CEIL"、"ROUND_FLOOR"、"ROUND_EVEN" 三种。

函数原型:

void SeRoundType(RoundType roundType)

参数说明:

参数名

输入/输出

说明

roundType

输入

取整方式:

ROUND_CEIL 向上取整;

ROUND_FLOOR 向下取整;

ROUND_EVEN 四舍五入,当存在半数的时候,四舍五入至最接近的偶数;

默认 ROUND_CEIL 向上取整

GetRoundType

函数功能:

获取取整的类型。

函数原型:

RoundType GetRoundType() const

参数说明:

参数名

输入/输出

说明

CompType

输出

获取取整类型:

ROUND_CEIL 向上取整;

ROUND_FLOOR 向下取整;

ROUND_EVEN 四舍五入,当存在半数的时候,四舍五入至最接近的偶数。

ArgminOperator配置接口

SetAxis接口参考SetAxis章节,其默认值为1。

SetArgMinAxis

函数功能:

配置当前算子的Axis属性值。

函数原型:

void SetArgMinAxis(const int32_t axis);

参数说明:

参数名

输入/输出

说明

axis

输入

当前算子的Axis属性值。

GetArgMinAxis

函数功能:

获取当前算子的Axis属性值。

函数原型:

const int32_t GetArgMinAxis() const;

参数说明:

参数名

输入/输出

说明

const int32_t

输出

当前算子的Axis属性值。

SetKeepDims

函数功能:

配置输出是否需要保持维度数量不变。

函数原型:

void SetKeepDims(bool keepDims)

参数说明:

参数名

输入/输出

说明

keepDims

输入

输出是否需要保持维度数量不变。

GetKeepDims

函数功能:

获取输出是否需要保持维度数量不变。

函数原型:

bool GetKeepDims() const

参数说明:

参数名

输入/输出

说明

bool

输出

输出是否需要保持维度数量不变。

SetSelectLastIndex

函数功能:

当有多个相同的最小值时,配置输出的最小值索引对应的是否为最后一个最小值。

函数原型:

void SetSelectLastIndex(bool selectLastIndex)

参数说明:

参数名

输入/输出

说明

selectLastIndex

输入

输出的最小值索引对应的是否为最后一个最小值。

GetSelectLastIndex

函数功能:

获取输出的最小值索引对应的是否为最后一个最小值。

函数原型:

bool  GetSelectLastIndex() const

参数说明:

参数名

输入/输出

说明

bool

输出

输出的最小值索引对应的是否为最后一个最小值。

ExtractSlice配置接口

SetAxesVec

函数功能:

设置切割的维度。

函数原型:

void SetAxesVec(vector<int32_t> axesVec)

参数说明:

参数名

输入/输出

说明

axesVec

输入

表示切割的维度。

PushAxes

函数功能:

逐个设置切割的维度。

函数原型:

void PushAxes(int32_t axes)

参数说明:

参数名

输入/输出

说明

axes

输入

表示切割的维度。

GetAxesVec

函数功能:

获取切割的维度。

函数原型:

const vector<int32_t> &GetAxesVec()

参数说明:

参数名

输入/输出

说明

const vector<int32_t> &

输出

表示切割的维度。

SetStartsVec

函数功能:

设置切割的起始位置。

函数原型:

void SetStartsVec(vector<int32_t> startsVec)

参数说明:

参数名

输入/输出

说明

startsVec

输入

表示切割的起始位置。

PushStarts

函数功能:

逐个设置切割的起始位置。

函数原型:

void PushStarts(int32_t starts)

参数说明:

参数名

输入/输出

说明

starts

输入

表示切割的起始位置。

GetStartsVec

函数功能:

获取切割的起始位置。

函数原型:

const vector<int32_t> &GetStartsVec()

参数说明:

参数名

输入/输出

说明

const vector<int32_t> &

输出

表示切割的起始位置。

SetEndsVec

函数功能:

设置切割的结束位置。

函数原型:

void SetEndsVec(vector<int32_t> endsVec)

参数说明:

参数名

输入/输出

说明

endsVec

输入

表示切割的结束位置。

PushEnds

函数功能:

逐个设置切割的结束位置。

函数原型:

void PushEnds(int32_t ends)

参数说明:

参数名

输入/输出

说明

ends

输入

表示切割的结束位置。

GetEndsVec

函数功能:

获取切割的结束位置。

函数原型:

const vector<int32_t> &GetEndsVec()

参数说明:

参数名

输入/输出

说明

const vector<int32_t> &

输出

表示切割的结束位置。

SetStepsVec

函数功能:

设置切割的步长。

函数原型:

void SetStepsVec(vector<int32_t> stepsVec)

参数说明:

参数名

输入/输出

说明

stepsVec

输入

表示切割的步长。

PushSteps

函数功能:

逐个设置切割的步长。

函数原型:

void PushSteps(int32_t steps)

参数说明:

参数名

输入/输出

说明

steps

输入

表示切割的步长。

GetStepsVec

函数功能:

获取切割的步长。

函数原型:

const vector<int32_t> &GetStepsVec()

参数说明:

参数名

输入/输出

说明

const vector<int32_t> &

输出

表示切割的步长。

DepthToSpace配置接口

SetBlockSize

函数功能:

配置取空间的大小

函数原型:

void SetBlockSize(uint32_t blockSize)

参数说明:

参数名

输入/输出

说明

blocksize

输入

配置取空间的大小,H和W必须是blocksize的整数倍

GetBlockSize

函数功能:

获取取空间的大小

函数原型:

uint32_t GetBlockSize() const

参数说明:

参数名

输入/输出

说明

uint32_t

输出

获取取空间的大小

SetModeType

函数功能:

配置取空间的大小

函数原型:

void SetModeType(DepthToSpaceModeType modeType)

参数说明:

参数名

输入/输出

说明

modeType

输入

配置排布方式,支持MODE_CRD和MODE_DCR

GetModeType

函数功能:

获取取空间的大小

函数原型:

DepthToSpaceModeType GetModeType() const

参数说明:

参数名

输入/输出

说明

DepthToSpaceModeType

输出

获取排布方式

TopK配置接口

SetAxis

函数功能:

配置排序的维度

函数原型:

void SetAxis(int32_t axis)

参数说明:

参数名

输入/输出

说明

axis

输入

配置排序的维度

GetAxis

函数功能:

获取排序的维度

函数原型:

int32_t GetAxis() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

获取排序的维度

SetLargest

函数功能:

配置是否返回最大或最小的元素

函数原型:

void SetLargest(int32_t largest)

参数说明:

参数名

输入/输出

说明

largest

输入

配置是否返回最大或最小的元素

GetLargest

函数功能:

获取排序的维度

函数原型:

int32_t GetLargest() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

获取是否返回最大或最小的元素

SetSorted

函数功能:

配置是否返回排好序的元素

函数原型:

void  SetSorted(int32_t sorted)

参数说明:

参数名

输入/输出

说明

sorted

输入

配置是否返回排好序的元素

GetSorted

函数功能:

获取排序的维度

函数原型:

int32_t GetLargest() const

参数说明:

参数名

输入/输出

说明

int32_t

输出

获取是否返回排好序的元素

Expand配置接口

SetExpandShape

函数功能:

设置输出形状 。

函数原型:

void SetExpandShape(const vector<int64_t> &shape)

参数说明:

参数名

输入/输出

说明

shape

输入

表示输出的形状。

GetExpandShape

函数功能:

获取输出形状。

函数原型:

vector<int64_t> GetExpandShape() const

参数说明:

参数名

输入/输出

说明

vector<int64_t>

输出

表示输出的形状。

SignOperator配置接口

无参数配置。

ErfOperator配置接口

无参数配置

GeluOperator配置接口

SetApproximationName

函数功能:

设置Gelu近似算法名称。

函数原型:

void SetApproximationName(const string &approximationName)

参数说明:

参数名

输入/输出

说明

approximationName

输入

  • 'fast_approximation': 高性能近似模式。
  • 'better_approximation': 高精度近似模式。
  • 支持官方'none', 'tanh',但统一转为'fast_approximation'近似实现。

GetApproximationName

函数功能:

获取近似算法名称 。

函数原型:

string GetApproximationName() const

参数说明:

参数名

输入/输出

说明

string

输出

近似算法名称。

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)

参数说明:

参数名

输入/输出

说明

cfgFile

输入

配置文件在当前系统中的路径,可以是相对路径或绝对路径。使用方法与ATC工具一致,参考《ATC工具使用指南》。

operatorVec

输入

Graph队列,它由一系列operator对象的智能指针构成,表示网络中所有的算子节点。

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)

参数说明:

参数名

输入/输出

说明

cfgMap

输入

保存配置信息的map列表,属性与键值都采用字符串的形式。属性和键值的名称与含义与GenerateModelBinary接口一致。使用方法参考《ATC工具使用指南》。

operatorVec

输入

Graph队列,它由一系列operator对象的智能指针构成,表示网络中所有的算子节点。

modelCoreInfo

输出

编译生成的om模型数据的核心信息,包含om数据在内存中的指针与长度,还有输入节点与输出节点的名称、shape与数据类型信息。由ModelCoreInfo结构表征,其内存由用户创建和维护。

参考实现

简介

构图接口与转换接口的使用方式既简单又灵活,提供了多种量化参数配置方式和转换参数配置方式。为了方便用户使用,提供对应简单实现的代码示例,重点关注以下几点:

  • 算子参数配置方式

  • 量化信息配置方式

  • 转换参数配置方式

  • 自定义算子配置方式

实现代码

进入发布包SVP_NNN_PC_Vx.x.x.x/Sample目录,解压samples.tar.gz,解压后请参考samples/8_graph。