ATC Graph 开发指南
前言
概述
本文用于指导开发人员,如何使用SVP ATC Graph接口构建网络模型,并将其转换成图像分析引擎支持的离线模型,模型转换过程中可以实现算子调度的优化、权值数据重排、内存使用优化等,可以脱离设备完成模型的预处理。
读者对象
本文档主要适用于以下工程师:
掌握以下经验和技能可以更好地理解本文档。
- 熟悉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库文件。
构图与转换使用示例
-
构造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)
参数说明:
参数名
|
输入/输出
|
说明
|
opName
|
输入
|
本层算子的名称,需要保证唯一性,不可与其他算子名称或输入输出节点名称重复。
|
GetOpName
函数功能:
获取本层算子的名称,用于模型构建与优化编译过程中的对象识别,该名称需要保证唯一性,不可与其他算子名称或输入输出节点名称重复。
函数原型:
const std::string& GetOpName() const
参数说明:
参数名
|
输入/输出
|
说明
|
const std::string&
|
输出
|
本层算子的名称,需要保证唯一性,不可与其他算子名称或输入输出节点名称重复。
|
SetOpType
函数功能:
指定本层算子的类型。
函数原型:
void SetOpType(OpType opType)
参数说明:
参数名
|
输入/输出
|
说明
|
opType
|
输入
|
本层算子的类型,使用OpType枚举值表示,其可配置范围参考op_enum_public.h。
|
GetOpType
函数功能:
获取本层算子的类型。
函数原型:
参数说明:
参数名
|
输入/输出
|
说明
|
OpType
|
输出
|
本层算子的类型,使用OpType枚举值表示,其可配置范围参考op_enum_public.h。
|
连接关系配置接口
函数功能:
添加一路输入算子的输出节点名称,即为本层算子添加一路输入连接。
函数原型:
void AddInputName(const std::string &name)
参数说明:
参数名
|
输入/输出
|
说明
|
name
|
输入
|
表示与之相连的前一路算子的输出名称,该名称具有唯一性。添加名称的顺序也代表了连接顺序,需要使用者保证顺序正确。
|
函数功能:
设置输入算子的输出节点名称集合,即一次性为本层算子添加多个输入连接。
函数原型:
void SetInputNamesVec(const std::vector<std::string> &inputNamesVec)
参数说明:
参数名
|
输入/输出
|
说明
|
inputNamesVec
|
输入集合
|
表示与之相连的多个输入节点算子的输出名称集合,这些名称具有唯一性。添加名称的顺序也代表了连接顺序,需要使用者保证顺序正确。
|
函数功能:
获取输入算子的输出节点名称集合,即一次性为本层算子添加多个输入连接。
函数原型:
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>&
|
输出
|
表示与之相连的多个输出节点算子的输入名称集合,这些名称具有唯一性。添加名称的顺序也代表了连接顺序,需要使用者保证顺序正确。
|
量化因子配置接口
函数功能:
添加一路输入数据的量化因子。
函数原型:
void AddInputQuantFactor(const OpQuantFactor &quantFactor)
参数说明:
参数名
|
输入/输出
|
说明
|
quantFactor
|
输入
|
对应一路输入数据的量化因子,其插入队列的顺序应当与输入节点的连接顺序一致。
|
OpQuantFactor对象的定义如下所示。
struct OpQuantFactor {
float scale = 0.f;
int32_t zeroPoint = 0;
OpDataType dataType = OP_DTYPE_S8;
}
包含量化因子scale与zeroPint值,以及量化数据类型。
函数功能:
获取一路输入数据的量化因子。
函数原型:
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
|
输出
|
对应一组参数数据的量化因子
|
函数功能:
设置输入数据的量化因子集合。
函数原型:
void SetInputQuantFactorsVec(const std::vector<OpQuantFactor> &inputQuantFactorsVec)
参数说明:
参数名
|
输入/输出
|
说明
|
inputQuantFactorsVec
|
输入
|
表示多组输入数据量化因子集合。添加量化因子的顺序应当与输入节点的顺序一致。
|
OpQuantFactor对象的定义参考AddInputQuantFactor。
函数功能:
获取输入数据的量化因子集合。
函数原型:
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> ¶mQuantFactorsVec)
参数说明:
参数名
|
输入/输出
|
说明
|
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
|
输出
|
算子上侧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
|
输出
|
算子计算所沿的轴方向,其值代表输入数据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
|
输出
|
获取配置的单元格剪辑阈值。
|
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
|
输出
|
输出是否需要保持维度数量不变。
|
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
|
输出
|
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
|
输出
|
配置Lrn运算的beta值。默认为0.75。
|
SetLrnK
函数功能:
配置Lrn运算的k值。
函数原型:
参数说明:
参数名
|
输入/输出
|
说明
|
lrnK
|
输入
|
Lrn运算的k值。默认为1.0。
|
GetLrnK
函数功能:
获取Lrn运算的k值。
函数原型:
参数说明:
参数名
|
输入/输出
|
说明
|
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
|
输出
|
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
|
输出
|
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
|
输出
|
分母附加值,防止除以方差时出现除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参数。
|
函数功能:
配置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输入。
|
函数功能:
获取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输入。
|
函数功能:
配置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输入。
|
函数功能:
获取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配置接口
无参数配置。
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配置接口
函数功能:
配置维度顺序格式的转换类型。
函数原型:
void SetOutputDimOrderFormat(DimOrderFormat format)
参数说明:
参数名
|
输入/输出
|
说明
|
format
|
输入
|
维度顺序格式的转换类型,使用枚举值DimOrderFormat表征,可配枚举值有:
NCHW_FORMAT:表示NHWC->NCHW的转换;
NHWC_FORMAT:表示NCHW->NHWC的转换。
|
函数功能:
获取维度顺序格式的转换类型。
函数原型:
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
|
输出
|
底数的值。默认为-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
|
输出
|
斜率数据。
|
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
函数功能:
配置设置的数值。
函数原型:
参数说明:
参数名
|
输入/输出
|
说明
|
val
|
输入
|
设置的数值。
|
GetValue
函数功能:
获取设置的数值。
函数原型:
参数说明:
参数名
|
输入/输出
|
说明
|
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的类对象表征。其构造过程为:
- 构造ExtendedParam对象,配置其name、type、paramInt等属性。
- 调用ExtendedAttr:: SetExtendedParam 方法绑定给一个ExtendedAttr对象。
- 重复1、2步骤完成每项参数配置,并插入队列。
关于ExtendedAttr与ExtendedParam更多信息,可以参考自定义算子相关章节。
|
GetExtendedAttrs
函数功能:
获取自定义算子的全部扩展属性。
函数原型:
const vector<ExtendedAttr>& GetExtendedAttrs() const
参数说明:
参数名
|
输入/输出
|
说明
|
const vector<ExtendedAttr>&
|
输出
|
自定义算子的扩展属性队列,每项以ExtendedAttr的类对象表征。其构造过程为:
- 构造ExtendedParam对象,配置其name、type、paramInt等属性。
- 调用ExtendedAttr:: SetExtendedParam 方法绑定给一个ExtendedAttr对象。
- 重复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
|
输出
|
若为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
|
输出
|
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
|
输出
|
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
|
输出
|
获取Gemm算子中的Alpha参数。
|
SetBeta
函数功能:
配置Gemm算子中的Beta参数。
函数原型:
参数说明:
参数名
|
输入/输出
|
说明
|
float
|
输入
|
配置Gemm算子中的Beta参数。
|
GetBeta
函数功能:
获取Gemm算子中的Beta参数。
函数原型:
参数说明:
参数名
|
输入/输出
|
说明
|
float
|
输出
|
获取Gemm算子中的Beta参数。
|
SetTransA
函数功能:
配置Gemm算子中的TransA参数。
函数原型:
void SetTransA(bool transA)
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输入
|
配置Gemm算子中的TransA参数。
|
GetTransA
函数功能:
获取Gemm算子中的TransA参数。
函数原型:
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输出
|
获取Gemm算子中的TransA参数。
|
SetTransB
函数功能:
配置Gemm算子中的TransB参数。
函数原型:
void SetTransB(bool transB)
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输入
|
配置Gemm算子中的TransB参数。
|
GetTransB
函数功能:
获取Gemm算子中的TransB参数。
函数原型:
参数说明:
参数名
|
输入/输出
|
说明
|
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
|
输出
|
输出是否需要保持维度数量不变。
|
SetSelectLastIndex
函数功能:
当有多个相同的最小值时,配置输出的最小值索引对应的是否为最后一个最小值。
函数原型:
void SetSelectLastIndex(bool selectLastIndex)
参数说明:
参数名
|
输入/输出
|
说明
|
selectLastIndex
|
输入
|
输出的最小值索引对应的是否为最后一个最小值。
|
GetSelectLastIndex
函数功能:
获取输出的最小值索引对应的是否为最后一个最小值。
函数原型:
bool GetSelectLastIndex() const
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输出
|
输出的最小值索引对应的是否为最后一个最小值。
|
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
|
输出
|
获取排序的维度
|
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。