ATC Graph开发指南
前言
概述
本文用于指导开发人员,如何使用SVP ATC Graph接口构建网络模型,并将其转换成图像分析引擎支持的离线模型,模型转换过程中可以实现算子调度的优化、权值数据重排、内存使用优化等,可以脱离设备完成模型的预处理。
产品版本
与本文档相对应的产品版本如下。
产品名称
|
产品版本
|
Hi3519D
|
V500
|
Hi3516D
|
V500
|
Hi3516C
|
V608
|
Hi3516C
|
V610
|
说明:
本文未有特殊说明,Hi3516DV500与Hi3519DV500内容完全一致;Hi3516CV608与Hi3516CV610内容完全一致。
读者对象
本文档主要适用于以下工程师:
掌握以下经验和技能可以更好地理解本文档。
- 熟悉Linux基本命令。
- 对机器学习、图像分析方法有一定的了解。
修改记录
文档版本
|
发布日期
|
修改说明
|
06
|
2026-07-30
|
第6次正式版本发布
3.3.11、3.3.34、3.3.35小节涉及修改
|
00B01
|
2026-06-30
|
第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() const
参数说明:
参数名
|
输入/输出
|
说明
|
OpQuantFactor
|
输出
|
对应一路输入数据的量化因子,其插入队列的顺序应当与输入节点的连接顺序一致。
|
AddOutputQuantFactor
函数功能:
添加一路输出数据的量化因子。
函数原型:
void AddOutputQuantFactor(const OpQuantFactor & quantFactor)
参数说明:
参数名
|
输入/输出
|
说明
|
quantFactor
|
输入
|
对应一路输出数据的量化因子,其插入队列的顺序应当与输出节点的连接顺序一致。
|
OpQuantFactor对象的定义参考AddInputQuantFactor。
GetOutputQuantFactor
函数功能:
获取一路输出数据的量化因子。
函数原型:
OpQuantFactor& GetOutputQuantFactor() const
参数说明:
参数名
|
输入/输出
|
说明
|
OpQuantFactor
|
输出
|
对应一路输出数据的量化因子,其插入队列的顺序应当与输出节点的连接顺序一致。
|
AddParamQuantFactor
函数功能:
添加一组参数数据的量化因子。仅Conv/Depthwiseconv/Deconv支持Perchannel量化时,多组量化参数需要调用多次此接口添加。仅支持。
函数原型:
void AddParamQuantFactor(const OpQuantFactor & quantFactor)
参数说明:
参数名
|
输入/输出
|
说明
|
quantFactor
|
输入
|
对应一组参数数据的量化因子。
|
OpQuantFactor对象的定义参考AddInputQuantFactor。
GetParamQuantFactor
函数功能:
获取一组参数数据的量化因子。
函数原型:
OpQuantFactor GetParamQuantFactor() const
参数说明:
参数名
|
输入/输出
|
说明
|
OpQuantFactor
|
输出
|
对应一组参数数据的量化因子。
|
函数功能:
设置输入数据的量化因子集合。
函数原型:
void SetInputQuantFactorsVec(const std::vector<OpQuantFactor> &inputQuantFactorsVec)
参数说明:
参数名
|
输入/输出
|
说明
|
inputQuantFactorsVec
|
输入
|
表示多组输入数据量化因子集合。添加量化因子的顺序应当与输入节点的顺序一致。
|
OpQuantFactor对象的定义参考AddInputQuantFactor。
函数功能:
获取输入数据的量化因子集合。
函数原型:
const std::vector<OpQuantFactor>& GetInputQuantFactorsVec() const
参数说明:
参数名
|
输入/输出
|
说明
|
const std::vector<OpQuantFactor>&
|
输出
|
表示多组输入数据量化因子集合。添加量化因子的顺序应当与输入节点的顺序一致。
|
SetOutputQuantFactorsVec
函数功能:
设置输出数据的量化因子集合。
函数原型:
void SetOutputQuantFactorsVec(const std::vector<OpQuantFactor> &outputQuantFactorsVec)
参数说明:
参数名
|
输入/输出
|
说明
|
outputQuantFactorsVec
|
输入
|
表示多组输出数据量化因子集合。添加量化因子的顺序应当与输出节点的顺序一致。
|
OpQuantFactor对象的定义参考AddInputQuantFactor。
GetOutputQuantFactorsVec
函数功能:
获取输出数据的量化因子集合。
函数原型:
const std::vector<OpQuantFactor>& GetOutputQuantFactorsVec() const
参数说明:
参数名
|
输入/输出
|
说明
|
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
参数说明:
参数名
|
输入/输出
|
说明
|
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
|
输入
|
AutoPad的类型,通过AutoPadType枚举值配置,共有三种合法选项:
PAD_NOTSET、PAD_SAME_UPPER、PAD_SAME_LOWER
默认为PAD_NOTSET,即不开启。
|
GetAutoPadType
函数功能:
获取AutoPad的类型。
函数原型:
AutoPadType GetAutoPadType() const
参数说明:
参数名
|
输入/输出
|
说明
|
AutoPadType
|
输出
|
AutoPadType的类型,通过AutoPadType枚举值配置,共有三种合法选项:
PAD_NOTSET、PAD_SAME_UPPER、PAD_SAME_LOWER
默认为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、BinaryMathOperator、ExpOperator、GatherOperator、LrnOperator、MvnOperator、PowerOperator、ReductionOperator、ScaleOperator、SoftmaxOperator、ConcatOperator、ReshapeOperator、TileOperator、LogOperator。
GetOfflineArgs
函数功能:
获取一路离线输入信息,包含数据与shape。添加的顺序需要与输入节点的顺序一致,在线数据不可跳过,入参配置为空pair。
函数原型:
const pair<vector<float>, vector<int32_t>>& GetOfflineArgs() const
参数说明:
参数名
|
输入/输出
|
说明
|
const pair<vector<float>, vector<int32_t>>&
|
输出
|
一路离线输入信息。Pair对应具体数据队列与shape队列。如果对应的输入表示在线输入,需要把pair配置为空实现,即其first与second对应的vector的size为0。
|
GetAllOfflineArgs
函数功能:
获取所有离线输入信息。添加的顺序需要与输入节点的顺序一致,在线数据不可跳过,入参配置为空pair。
函数原型:
vector<pair<vector<float>, vector<int32_t>>>& GetAllOfflineArgs() const
参数说明:
参数名
|
输入/输出
|
说明
|
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。
- 针对其他Operator,其默认为1。
|
适用的算子包含:GatherOperator、BiasOperator、ScaleOperator、ConcatOperator、CropOperator、ReshapeOperator、SliceOperator、ExtractOperator、TileOperator、ArgmaxOperator、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。
- 针对其他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值)。
|
SetTranBFlag
函数功能:
配置第二个输入转置开关。
函数原型:
void SetTransBFlag(bool transB)
参数说明:
参数名
|
输入/输出
|
说明
|
transB
|
输入
|
第二个输入转置开关。默认为true。
|
GetTranBFlag
函数功能:
获取第二个输入转置开关。
函数原型:
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。
函数原型:
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()
参数说明:
参数名
|
输入/输出
|
说明
|
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。
SetArgMaxOutMaxVal
函数功能:
配置是否需要输出最大值。
函数原型:
void SetArgMaxOutMaxVal(bool outMaxVal)
参数说明:
参数名
|
输入/输出
|
说明
|
outMaxVal
|
输入
|
是否需要输出最大值。
|
GetArgMaxOutMaxVal
函数功能:
获取是否需要输出最大值。
函数原型:
bool GetArgMaxOutMaxVal() const
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输出
|
是否需要输出最大值。
|
SetArgMaxTopK
函数功能:
配置输出topk值,表示输出每个axis轴中前topk个数。当前只支持1。
函数原型:
void SetArgMaxTopK(uint32_t topK)
参数说明:
参数名
|
输入/输出
|
说明
|
topK
|
输入
|
输出topk值,表示输出每个axis轴中前topk个数。当前只支持1。
|
GetArgMaxTopK
函数功能:
获取输出topk值,表示输出每个axis轴中前topk个数。当前只支持1。
函数原型:
uint32_t GetArgMaxTopK() const
参数说明:
参数名
|
输入/输出
|
说明
|
uint32_t
|
输出
|
输出topk值,表示输出每个axis轴中前topk个数。当前只支持1。
|
SetArgMaxHasAxis
函数功能:
配置当前算子是否配有Axis属性。
函数原型:
void SetArgMaxHasAxis(bool hasAxis)
参数说明:
参数名
|
输入/输出
|
说明
|
hasAxis
|
输入
|
当前算子是否配有Axis属性。
|
GetArgMaxHasAxis
函数功能:
获取当前算子是否配有Axis属性。
函数原型:
bool GetArgMaxHasAxis() const
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输出
|
当前算子是否配有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
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。
|
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
函数功能:
获取总框数。与GetNumBboxesPerGrid不同时使用。
函数原型:
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的数量,当前Coords仅支持配置为4。
函数原型:
void SetNumCoords(uint32_t numCoords)
参数说明:
参数名
|
输入/输出
|
说明
|
numCoords
|
输入
|
Coords的数量。
|
GetNumCoords
函数功能:
获取Coords的数量,当前Coords仅支持配置为4。
函数原型:
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。
|
通常对应 ONNX Slice 的语义。
SetAxesVec
函数功能:
配置多个轴。
函数原型:
void SetAxesVec(vector<int32_t> axesVec)
参数说明:
参数名
|
输入/输出
|
说明
|
axesVec
|
输入
|
轴集合。
|
PushAxes
函数功能:
配置一个轴。
函数原型:
void PushAxes(int32_t axes)
参数说明:
参数名
|
输入/输出
|
说明
|
axesVec
|
输入
|
单个轴数据。
|
GetAxesVec
函数功能:
获取轴集合数据。
函数原型:
const vector<int32_t> &GetAxesVec()
SetStartsVec
函数功能:
配置多个轴的切割起点。
函数原型:
void SetStartsVec(vector<int32_t> startsVec)
参数说明:
参数名
|
输入/输出
|
说明
|
startsVec
|
输入
|
切割起点集合。
|
PushStarts
函数功能:
配置某一个轴的切割起点。
函数原型:
void PushStarts(int32_t starts)
参数说明:
参数名
|
输入/输出
|
说明
|
starts
|
输入
|
某一个轴的切割起点。
|
GetStartsVec
函数功能:
获取多个轴的切割起点。
函数原型:
const vector<int32_t> &GetStartsVec()
SetEndsVec
函数功能:
配置多个轴的切割终点位置。
函数原型:
void SetEndsVec(vector<int32_t> endsVec)
参数说明:
参数名
|
输入/输出
|
说明
|
endsVec
|
输入
|
切割数据的终点位置集合。
|
PushEnds
函数功能:
配置切割某一个轴的终点位置。
函数原型:
void PushEnds(int32_t ends)
参数说明:
参数名
|
输入/输出
|
说明
|
ends
|
输入
|
某一个轴的终点位置。
|
GetEndsVec
函数功能:
获取多个轴的切割终点。
函数原型:
const vector<int32_t> &GetEndsVec()
SetStepsVec
函数功能:
配置多个轴的切割步长。
函数原型:
void SetStepsVec(vector<int32_t> stepsVec)
参数说明:
参数名
|
输入/输出
|
说明
|
stepsVec
|
输入
|
切割步长集合。
|
PushSteps
函数功能:
配置某一个轴的切割步长。
函数原型:
void PushSteps(int32_t steps)
参数说明:
参数名
|
输入/输出
|
说明
|
steps
|
输入
|
某一个轴的切割步长。
|
GetStepsVec
函数功能:
获取多个轴的切割步长。
函数原型:
const vector<int32_t> &GetStepsVec()
GatherOperator配置接口
SetAxis接口参考“SetAxis”章节,其默认为0。
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_SUM。
|
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_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运算的坐标轴。坐标轴的支持范围:[2, 3]。
|
GetReduceAxesSet
函数功能:
获取所有参与Reduce运算的坐标轴。
函数原型:
const set<int>& GetReduceAxesSet() const
参数说明:
参数名
|
输入/输出
|
说明
|
const set<int>&
|
输出
|
所有参与Reduce运算的坐标轴。坐标轴的支持范围:[2, 3]。
|
SetReduceKeepDims
函数功能:
配置布尔开关值,表示计算完成后是否保持维度数不变。
函数原型:
void SetReduceKeepDims(bool keepDims)
参数说明:
参数名
|
输入/输出
|
说明
|
keepDims
|
输入
|
计算完成后是否保持维度数不变。必须配置,且当前版本只支持false。该接口对Caffe无效,Caffe按keepdim=0处理
|
GetReduceKeepDims
函数功能:
获取布尔开关值,表示计算完成后是否保持维度数不变。
函数原型:
bool GetReduceKeepDims() const
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输出
|
计算完成后是否保持维度数不变。必须配置,且当前版本只支持false。
|
SetReduceIsFromCaffe
函数功能:
配置布尔开关值,表示是否属于Caffe算子。
函数原型:
void SetReduceIsFromCaffe(bool isFromCaffe)
参数说明:
参数名
|
输入/输出
|
说明
|
isFromCaffe
|
输入
|
可选配置,默认为false
|
GetReduceIsFromCaffe
函数功能:
获取布尔开关值,表示是否属于Caffe算子。
函数原型:
bool GetReduceIsFromCaffe() const
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输出
|
默认为false
|
ResizeOperator配置接口
SetCoordinateTransMode
函数功能:
配置坐标轴转换的方式,默认HALF_PIXEL。
函数原型:
void SetCoordinateTransMode(const CoordinateTransMode mode)
参数说明:
参数名
|
输入/输出
|
说明
|
mode
|
输入
|
HALF_PIXEL = 0,
PYTORCH_HALF_PIXEL = 1,
ALIGN_CORNERS = 2,
ASYMMETRIC = 3,
TF_CROP_AND_RESIZE = 4,
TF_HALF_PIXEL_FOR_NN = 5。
|
GetCoordinateTransMode
函数功能:
获取坐标轴转换的方式。
函数原型:
CoordinateTransMode GetCoordinateTransMode() const
SetInterpolationMode
函数功能:
配置插值模式,默认RESIZE_NEAREST。
函数原型:
void SetInterpolationMode(const ResizeInterpolationMode mode)
参数说明:
参数名
|
输入/输出
|
说明
|
mode
|
输入
|
RESIZE_NEAREST = 0,
RESIZE_LINEAR = 1,
RESIZE_CUBIC = 2。
|
GetInterpolationMode
函数功能:
获取插值模式。
函数原型:
ResizeInterpolationMode GetInterpolationMode() const
SetNearestMode
函数功能:
插值模式配置为nearest时的取值方式,默认ROUND_PREFER_FLOOR。
函数原型:
void SetNearestMode(const NearestMode mode))
参数说明:
参数名
|
输入/输出
|
说明
|
mode
|
输入
|
ROUND_PREFER_FLOOR = 0,
ROUND_PREFER_CEIL = 1,
NEAREST_FLOOR = 2,
NEAREST_CEIL = 3,
NEAREST_SIMPLE = 4。
|
GetNearestMode
函数功能:
获取插值模式配置为nearest时的取值方式。
函数原型:
NearestMode GetNearestMode() const
SetScaleVec
函数功能:
配置沿各个轴的缩放倍数。
函数原型:
void SetScaleVec(const vector<float> &roiVec)
参数说明:
参数名
|
输入/输出
|
说明
|
roiVec
|
输入
|
沿各个轴的缩放倍数,必须且只能离线配置scales或者sizes中的一个。nearest模式,scales只支持(1,1,2,2)。
|
GetScaleVec
函数功能:
获取沿各个轴的缩放倍数。
函数原型:
const vector<float> &GetScaleVec() const
SetSizeVec
函数功能:
配置输出的shape。
函数原型:
void SetSizeVec(const vector<int32_t> &roiVec)
参数说明:
参数名
|
输入/输出
|
说明
|
roiVec
|
输入
|
输出的shape,必须且只能离线配置scales或者sizes中的一个。nearest模式,sizes只支持hw扩大两倍。
|
GetSizeVec
函数功能:
获取输出的shape。
函数原型:
const vector<int32_t> &GetSizeVec() const
SetRoiVec
函数功能:
配置roi区域。
函数原型:
void SetRoiVec(const vector<float> &roiVec)
参数说明:
参数名
|
输入/输出
|
说明
|
roiVec
|
输入
|
roi区域。
|
GetRoiVec
函数功能:
获取roi区域。
函数原型:
vector<float> &GetRoiVec() const
SetCubicCoeff
函数功能:
配置cube模式下的缩放参数。
函数原型:
void SetCubicCoeff(const float coeff)
参数说明:
参数名
|
输入/输出
|
说明
|
coeff
|
输入
|
cube模式下缩放参数。
|
GetCubicCoeff
函数功能:
获取cube模式下的缩放参数。
函数原型:
float GetCubicCoeff() const
SetExcludeOutsideFlag
函数功能:
是否包含张量之外的采样点。
函数原型:
void SetExcludeOutsideFlag(const bool flag)
参数说明:
参数名
|
输入/输出
|
说明
|
flag
|
输入
|
是否包含张量之外的采样点标记。
|
GetExcludeOutsideFlag
函数功能:
获取是否包含张量之外的采样点。
函数原型:
bool GetExcludeOutsideFlag() const
函数功能:
coordinate_transformation_mode为 "tf_crop_and_resize",输入数据超出范围时使用的值。
函数原型:
void SetExtrapolationValue(const float val)
参数说明:
参数名
|
输入/输出
|
说明
|
val
|
输入
|
输入数据超出范围时使用的值。
|
函数功能:
coordinate_transformation_mode为 "tf_crop_and_resize",输入数据超出范围时使用的值。
函数原型:
float GetExtrapolationValue() const
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
|
输入
|
偏移量数据的个数。
|
SetScaleBiasFlag
函数功能:
标记是否有bias。
函数原型:
void SetScaleBiasFlag(bool scaleBiasFlag)
参数说明:
参数名
|
输入/输出
|
说明
|
scaleBiasFlag
|
输入
|
算子是否有bias数据,默认为False。
|
GetScaleBiasFlag
函数功能:
获取算子是否有bias。
函数原型:
bool GetScaleBiasFlag() const
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输出
|
获取算子是否有bias。
|
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_C。
|
GetRealAxes
函数功能:
获取进行softmax运算的所有维度组合模式。
函数原型:
SoftmaxAxes GetRealAxes() const
参数说明:
参数名
|
输入/输出
|
说明
|
SoftmaxAxes
|
输出
|
进行softmax运算的所有维度组合模式。使用SoftmaxAxes枚举值表征,可选配置枚举值有:
SOFTMAX_C
SOFTMAX_H
SOFTMAX_W
SOFTMAX_HW
SOFTMAX_CHW
默认为SOFTMAX_C。
|
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
|
输入
|
总框数。
|
GetNumAnchors
函数功能:
获取总框数。与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接口参考"SetAxis"章节,其默认为2。
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
函数功能:
配置AIPP所有图像通道的scale参数。通道数需要与SetPreprocessMean相同,与SetModelFormat对应的图像格式通道数相同。
函数原型:
void SetPreprocessScale(const vector<float> preprocessScale)
参数说明:
参数名
|
输入/输出
|
说明
|
preprocessScale
|
输入
|
所有图像通道的AIPP scale参数。
|
GetPreprocessScale
函数功能:
获取AIPP所有图像通道的scale参数。通道数需要与SetPreprocessMean相同,与SetModelFormat对应的图像格式通道数相同。
函数原型:
const vector<float> GetPreprocessScale() const
参数说明:
参数名
|
输入/输出
|
说明
|
const vector<float>
|
输出
|
所有图像通道的AIPP scale参数。
|
SetPreprocessMean
函数功能:
配置AIPP所有图像通道的mean参数。通道数需要与SetPreprocessScale相同,与SetModelFormat对应的图像格式通道数相同。
函数原型:
void SetPreprocessMean(const vector<float> preprocessMean)
参数说明:
参数名
|
输入/输出
|
说明
|
preprocessMean
|
输入
|
所有图像通道的AIPP mean参数。
|
GetPreprocessMean
函数功能:
获取AIPP所有图像通道的mean参数。通道数需要与SetPreprocessScale相同,与SetModelFormat对应的图像格式通道数相同。
函数原型:
const vector<float> GetPreprocessMean() const
参数说明:
参数名
|
输入/输出
|
说明
|
const vector<float>
|
输出
|
所有图像通道的AIPP mean参数。
|
函数功能:
配置AIPP输入图像格式参数。
函数原型:
void SetInputFormat(const ImageType inputFormat)
参数说明:
参数名
|
输入/输出
|
说明
|
inputFormat
|
输入
|
AIPP 输入图像格式。以枚举值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输入。
|
函数功能:
获取AIPP输入图像格式参数。
函数原型:
const ImageType GetInputFormat() const
参数说明:
参数名
|
输入/输出
|
说明
|
const ImageType
|
输出
|
AIPP 输入图像格式。以枚举值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输入。
|
函数功能:
配置AIPP模型训练与执行时图像通道排布顺序。
函数原型:
void SetModelFormat(const RgbxOrderType modelFormat)
参数说明:
参数名
|
输入/输出
|
说明
|
modelFormat
|
输入
|
AIPP模型训练与执行时图像通道排布顺序。以枚举值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输入。
|
函数功能:
获取AIPP模型训练与执行时图像通道排布顺序。
函数原型:
const RgbxOrderType GetModelFormat() const
参数说明:
参数名
|
输入/输出
|
说明
|
const RgbxOrderType
|
输出
|
AIPP模型训练与执行时图像通道排布顺序。以枚举值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”章节,其默认为0。
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配置接口
通常对应 ONNX Split 和 Caffe Slice 的语义。
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配置接口
通常对应 Caffe Split 的语义。
无参数配置。
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信息队列。
|
SetGlobalPoolingFlag
函数功能:
配置算子是否为GlobalPool。
函数原型:
void SetGlobalPoolingFlag(bool globalPoolingFlag)
参数说明:
参数名
|
输入/输出
|
说明
|
globalPoolingFlag
|
输入
|
算子是否为GlobalPool。默认为False。
|
GetGlobalPoolingFlag
函数功能:
获取算子是否为GlobalPool。
函数原型:
bool GetGlobalPoolingFlag() const
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输出
|
获取算子是否为GlobalPool。
|
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 数组的边值填充
|
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配置接口
无参数配置。
RoiAlignOperator配置接口
SetPooledWidth
函数功能:
配置RoiAlign算子中的输出w大小。
函数原型:
void SetPooledWidth(const uint32_t pooledWidth)
参数说明:
参数名
|
输入/输出
|
说明
|
pooledWidth
|
输入
|
RoiAlign算子中的输出w大小。
|
GetPooledWidth
函数功能:
获取RoiAlign算子中的输出w大小。
函数原型:
uint32_t GetPooledWidth() const
参数说明:
参数名
|
输入/输出
|
说明
|
uint32_t
|
输出
|
RoiAlign算子中的输出w大小。
|
SetPooledHeight
函数功能:
配置RoiAlign算子中的输出h大小。
函数原型:
void SetPooledHeight(const uint32_t pooledHeight)
参数说明:
参数名
|
输入/输出
|
说明
|
pooledHeight
|
输入
|
RoiAlign算子中的输出h大小。
|
GetPooledHeight
函数功能:
获取配置RoiAlign算子中的输出h大小。
函数原型:
uint32_t GetPooledHeight() const
参数说明:
参数名
|
输入/输出
|
说明
|
uint32_t
|
输出
|
RoiAlign算子中的输出h大小。
|
SetSpatialScale
函数功能:
配置RoiAlign算子中的坐标转换系数。
函数原型:
void SetSpatialScale(const float scale)
参数说明:
参数名
|
输入/输出
|
说明
|
scale
|
输入
|
RoiAlign算子中的坐标转换系数。
|
GetSpatialScale
函数功能:
获取RoiAlign算子中的坐标转换系数。
函数原型:
float GetSpatialScale() const
参数说明:
参数名
|
输入/输出
|
说明
|
float
|
输出
|
RoiAlign算子中的坐标转换系数。
|
SetSamplingRatio
函数功能:
配置RoiAlign算子中的采样率。
函数原型:
void SetSamplingRatio(const uint32_t ratio)
参数说明:
参数名
|
输入/输出
|
说明
|
ratio
|
输入
|
RoiAlign算子中的采样率。
|
GetSamplingRatio
函数功能:
获取RoiAlign算子中的采样率。
函数原型:
uint32_t GetSamplingRatio() const
参数说明:
参数名
|
输入/输出
|
说明
|
uint32_t
|
输出
|
RoiAlign算子中的采样率。
|
SetPoolMode
函数功能:
配置RoiAlign算子中的池化方式,目前支持'ROI_ALIGN_AVG'、'ROI_ALIGN_MAX'两种。
函数原型:
void SetPoolMode(RoiAlignPoolMode mode)
参数说明:
参数名
|
输入/输出
|
说明
|
mode
|
输入
|
RoiAlign算子中的池化方式:
ROI_ALIGN_AVG,平均池化;
ROI_ALIGN_MAX,最大值池化;
默认为ROI_ALIGN_AVG平均池化。
|
GetPoolMode
函数功能:
获取RoiAlign算子中的池化方式,目前支持'ROI_ALIGN_AVG'、'ROI_ALIGN_MAX'两种。
函数原型:
RoiAlignPoolMode GetPoolMode() const
参数说明:
参数名
|
输入/输出
|
说明
|
RoiAlignPoolMode
|
输出
|
RoiAlign算子中的池化方式:
ROI_ALIGN_AVG,平均池化;
ROI_ALIGN_MAX,最大值池化;
默认为ROI_ALIGN_AVG平均池化。
|
SpaceToDepthOperator配置接口
SetBlockSize
函数功能:
配置SpaceToDepth的blocksize参数。
函数原型:
void SetBlockSize(int32_t blockSize)
参数说明:
参数名
|
输入/输出
|
说明
|
blockSize
|
输入
|
SpaceToDepth算子的blockSize参数。
输入宽高必须是blocksize的整数倍,blockSize范围:[2, 16]
|
GetBlockSize
函数功能:
获取SpaceToDepth的blocksize参数。
函数原型:
int32_t GetBlockSize() const
参数说明:
参数名
|
输入/输出
|
说明
|
int32_t
|
输出
|
SpaceToDepth的blocksize参数。
|
DepthToSpaceOperator配置接口
SetBlockSize
函数功能:
配置DepthToSpace的blocksize参数。
函数原型:
void SetBlockSize(int32_t blockSize)
参数说明:
参数名
|
输入/输出
|
说明
|
blockSize
|
输入
|
DepthToSpace算子的blockSize参数。
输入C轴数据必须是blocksize*blocksize的整数倍。
|
GetBlockSize
函数功能:
获取DepthToSpace的blocksize参数。
函数原型:
int32_t GetBlockSize() const
参数说明:
参数名
|
输入/输出
|
说明
|
int32_t
|
输出
|
DepthToSpace的blocksize参数。
|
SetModeType
函数功能:
配置DepthToSpace的modeType参数,默认值为MODE_DCR。
函数原型:
void SetModeType(DepthToSpaceModeType modeType)
参数说明:
参数名
|
输入/输出
|
说明
|
modeType
|
输入
|
排布方式:
MODE_DCR DCR模式;
MODE_CRD CRD模式;
NPU仅支持DCR模式,CRD模式使用CPU。
|
GetModeType
函数功能:
获取DepthToSpace的modeType参数。
函数原型:
int32_t GetModeType() const
参数说明:
参数名
|
输入/输出
|
说明
|
DepthToSpaceModeType
|
输出
|
返回排布方式:
MODE_DCR DCR模式;
MODE_CRD CRD模式;
NPU仅支持DCR模式,CRD模式使用CPU。
|
WinPartitionOperator配置接口
SetWindowSize
函数功能:
配置WinPartition的windowSize参数,即在划分窗口时使用的窗口大小。
函数原型:
void SetWindowSize(uint32_t size)
参数说明:
参数名
|
输入/输出
|
说明
|
windowSize
|
输入
|
windowSize不能为0,必须能被输入W维度和输入H维度整除。
|
GetWindowSize
函数功能:
获取WinPartition的windowSize参数。
函数原型:
uint32_t GetWindowSize() const
参数说明:
参数名
|
输入/输出
|
说明
|
uint32_t
|
输出
|
返回WinPartition的windowSize参数。
|
WinPartitionReverseOperator配置接口
SetWindowSize
函数功能:
配置WinPartitionReverse的windowSize参数,即在划分窗口时使用的窗口大小。
函数原型:
void SetWindowSize(uint32_t size)
参数说明:
参数名
|
输入/输出
|
说明
|
windowSize
|
输入
|
windowSize不能为0,必须能被origHSize和origWSize整除
|
GetWindowSize
函数功能:
获取WinPartitionReverse的windowSize参数。
函数原型:
uint32_t GetWindowSize() const
参数说明:
参数名
|
输入/输出
|
说明
|
uint32_t
|
输出
|
返回WinPartitionReverse的windowSize参数。
|
SetOrigHSize
函数功能:
配置WinPartitionReverse的origHSize参数,即原始Height大小。
函数原型:
void SetOrigHSize(const int32_t size)
参数说明:
参数名
|
输入/输出
|
说明
|
origHSize
|
输入
|
配置原始Height大小。
|
GetOrigHSize
函数功能:
获取WinPartitionReverse的origHSize参数。
函数原型:
int32_t GetOrigHSize() const
参数说明:
参数名
|
输入/输出
|
说明
|
int32_t
|
输出
|
返回WinPartitionReverse的origHSize参数。
|
SetOrigWSize
函数功能:
配置WinPartitionReverse的origWSize参数,即原始Width大小。
函数原型:
void SetOrigWSize(const int32_t size)
参数说明:
参数名
|
输入/输出
|
说明
|
SetOrigWSize
|
输入
|
配置原始Width大小
|
GetOrigWSize
函数功能:
获取WinPartitionReverse的origWSize参数。
函数原型:
int32_t GetOrigWSize() const
参数说明:
参数名
|
输入/输出
|
说明
|
int32_t
|
输出
|
返回WinPartitionReverse的origWSize参数。
|
LayerNormOperator配置接口
SetAxis接口参考“SetAxis”章节,其默认为1,不支持input,scale,bias全部离线场景。
SetEpsilon
函数功能:
配置LayerNorm算子的epsilon参数。
函数原型:
void SetEpsilon(const float epsilon)
参数说明:
参数名
|
输入/输出
|
说明
|
epsilon
|
输入
|
配置epsilon,防止除0错误。
|
GetEpsilon
函数功能:
获取LayerNorm的epsilon参数。
函数原型:
参数说明:
参数名
|
输入/输出
|
说明
|
uint32_t
|
输出
|
返回LayerNorm的epsilon参数。
|
MulReduceSumOperator配置接口
SetIndex
函数功能:
配置MulReduceSum算子的index参数。
函数原型:
void SetIndex(uint32_t index);
参数说明:
参数名
|
输入/输出
|
说明
|
index
|
输入
|
从Y (shape=[n1, ny0, c, h, w])中gather第index块的数据(shape=[n1, 1, c, h, w])
|
GetIndex
函数功能:
获取MulReduceSum的index参数。
函数原型:
uint32_t GetIndex() const
参数说明:
参数名
|
输入/输出
|
说明
|
uint32_t
|
输出
|
返回index的配置内容。
|
GridSampleXDecOperator配置接口
SetHeads
函数功能:
配置GridSampleXDec算子的n_heads参数。
函数原型:
void SetHeads(uint32_t heads)
参数说明:
参数名
|
输入/输出
|
说明
|
n_heads
|
输入
|
输入特征及偏移的分组数。
|
GetHeads
函数功能:
获取GridSampleXDec的n_heads参数。
函数原型:
uint32_t GetHeads() const
参数说明:
参数名
|
输入/输出
|
说明
|
uint32_t
|
输出
|
返回n_heads的配置内容。
|
SetPoints
函数功能:
配置GridSampleXDec算子的n_points参数。
函数原型:
void SetPoints(uint32_t points)
参数说明:
参数名
|
输入/输出
|
说明
|
n_points
|
输入
|
每组偏移的数量。
|
GetPoints
函数功能:
获取GridSampleXDec的n_points参数。
函数原型:
uint32_t GetPoints() const
参数说明:
参数名
|
输入/输出
|
说明
|
uint32_t
|
输出
|
返回n_points的配置内容。
|
SetScaleW
函数功能:
配置GridSampleXDec算子的n_scaleW参数。
函数原型:
void SetScaleW(uint32_t scaleW)
参数说明:
参数名
|
输入/输出
|
说明
|
n_scaleW
|
输入
|
对应模型的W属性,表示参考框的宽度缩放系数。
|
GetScaleW
函数功能:
获取GridSampleXDec的n_scaleW参数。
函数原型:
uint32_t GetScaleW() const
参数说明:
参数名
|
输入/输出
|
说明
|
uint32_t
|
输出
|
返回n_scaleW的配置内容。
|
SetScaleH
函数功能:
配置GridSampleXDec算子的n_scaleH参数。
函数原型:
void SetScaleH(uint32_t scaleH)
参数说明:
参数名
|
输入/输出
|
说明
|
n_scaleH
|
输入
|
对应模型的H属性,表示参考框的高度缩放系数。
|
GetScaleH
函数功能:
获取GridSampleXDec的n_scaleH参数。
函数原型:
uint32_t GetScaleH() const
参数说明:
参数名
|
输入/输出
|
说明
|
uint32_t
|
输出
|
返回n_scaleH的配置内容。
|
PosEncodeOperator配置接口
无参数配置。
RollOperator配置接口
SetRollOffsetX
函数功能:
设置偏移量offsetX。
函数原型:
void SetRollOffsetX(int32_t offsetX)
参数说明:
参数名
|
输入/输出
|
说明
|
offsetX
|
输入
|
偏移量x
|
GetRollOffsetX
函数功能:
获取偏移量offsetX。
函数原型:
参数说明:
参数名
|
输入/输出
|
说明
|
int32_t
|
输出
|
获取偏移量x
|
SetRollOffsetY
函数功能:
设置偏移量offsetY。
函数原型:
void SetRollOffsetY(int32_t offsetY)
参数说明:
参数名
|
输入/输出
|
说明
|
offsetY
|
输入
|
偏移量y
|
GetRollOffsetY
函数功能:
获取偏移量offsetY。
函数原型:
参数说明:
参数名
|
输入/输出
|
说明
|
int32_t
|
输出
|
获取偏移量y
|
Gelu2Operator配置接口
SetApproximationName
函数功能:
设置approximation mode,有两种mode,SIGMOID_FAST和SIGMOID_BETTER。
函数原型:
void SetApproximationName(const string &approximationName)
参数说明:
参数名
|
输入/输出
|
说明
|
approximationName
|
输入
|
Approximation name,用于配置approximation 模式。
|
GetApproximationName
函数功能:
获取approximation mode,有两种mode,SIGMOID_FAST和SIGMOID_BETTER。
函数原型:
string GetApproximationName() const
参数说明:
参数名
|
输入/输出
|
说明
|
string
|
输出
|
获取ApproximationName。
|
InverseSigmoidOperator配置接口
无参数配置。
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的第二个和第三个参数是离线且满足转NPU实现时,该接口用于说明离线参数是否是量化后的数据,true表示量化数据,false表示浮点数据。
函数原型:
void SetWeightBiasQuanted(bool isWeightBiasQuanted)
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输入
|
用于配置离线参数是否是量化后的数据。
|
GetWeightBiasQuanted
函数功能:
Gemm的第二个和第三个参数是离线且满足转NPU实现时,该接口用于获取离线参数是否是量化后的数据,true表示量化数据,false表示浮点数据。
函数原型:
bool GetWeightBiasQuanted() const
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输出
|
用于获取离线参数是否是量化后的数据。
|
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信息的队列。
|
TopK配置接口
SetAxis接口参考“SetAxis”章节,其默认值为1。
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
|
输出
|
获取是否返回排好序的元素
|
ExpandOperator配置接口
SetExpandShape
函数功能:
设置输出形状。
函数原型:
void SetExpandShape(const vector<int64_t> &shape);
参数说明:
参数名
|
输入/输出
|
说明
|
shape
|
输入
|
指示输出形状。
|
GetExpandShape
函数功能:
获取输出形状。
函数原型:
vector<int64_t> GetExpandShape() const;
参数说明:
参数名
|
输入/输出
|
说明
|
vector<int64_t>
|
输出
|
输出形状。
|
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。
SetArgMinOutMinVal
函数功能:
配置是否需要输出最小值。
函数原型:
void SetArgMinOutMinVal(bool outMinVal)
参数说明:
参数名
|
输入/输出
|
说明
|
outMinVal
|
输入
|
是否需要输出最小值。
|
GetArgMinOutMinVal
函数功能:
获取是否需要输出最小值。
函数原型:
bool GetArgMinOutMinVal() const
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输出
|
是否需要输出最小值。
|
SetArgMinTopK
函数功能:
配置输出topk值,表示输出每个axis轴中前topk个数。当前只支持1。
函数原型:
void SetArgMinTopK(uint32_t topK)
参数说明:
参数名
|
输入/输出
|
说明
|
topK
|
输入
|
输出topk值,表示输出每个axis轴中前topk个数。当前只支持1。
|
GetArgMinTopK
函数功能:
获取输出topk值,表示输出每个axis轴中前topk个数。当前只支持1。
函数原型:
uint32_t GetArgMinTopK() const
参数说明:
参数名
|
输入/输出
|
说明
|
uint32_t
|
输出
|
输出topk值,表示输出每个axis轴中前topk个数。当前只支持1。
|
SetArgMinHasAxis
函数功能:
配置当前算子是否配有Axis属性。
函数原型:
void SetArgMinHasAxis(bool hasAxis)
参数说明:
参数名
|
输入/输出
|
说明
|
hasAxis
|
输入
|
当前算子是否配有Axis属性。
|
GetArgMinHasAxis
函数功能:
获取当前算子是否配有Axis属性。
函数原型:
bool GetArgMinHasAxis() const
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输出
|
当前算子是否配有Axis属性。
|
SetKeepDims
函数功能:
配置输出是否需要保持维度数量不变。
函数原型:
void SetKeepDims(bool keepDims)
参数说明:
参数名
|
输入/输出
|
说明
|
keepDims
|
输入
|
输出是否需要保持维度数量不变。
|
GetKeepDims
函数功能:
获取输出是否需要保持维度数量不变。
函数原型:
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输出
|
输出是否需要保持维度数量不变。
|
SetSelectLastIndex
函数功能:
当有多个相同的最小值时,配置输出的最小值索引对应的是否为最后一个最小值。
函数原型:
void SetSelectLastIndex(bool selectLastIndex)
参数说明:
参数名
|
输入/输出
|
说明
|
selectLastIndex
|
输入
|
输出的最小值索引对应的是否为最后一个最小值。
|
GetSelectLastIndex
函数功能:
获取输出的最小值索引对应的是否为最后一个最小值。
函数原型:
bool GetSelectLastIndex() const
参数说明:
参数名
|
输入/输出
|
说明
|
bool
|
输出
|
输出的最小值索引对应的是否为最后一个最小值。
|
SinOperator配置接口
无参数配置
CosOperator配置接口
无参数配置
NegOperator配置接口
无参数配置
ErfOperator配置接口
无参数配置
ScatterNDOperator配置接口
无参数配置
SignOperator配置接口
无参数配置
GeluOperator配置接口
SetApproximationName
函数功能:
设置approximation mode,有两种mode,SIGMOID_FAST和SIGMOID_BETTER。
函数原型:
void SetApproximationName(const string &approximationName)
参数说明:
参数名
|
输入/输出
|
说明
|
approximationName
|
输入
|
Approximation name,用于配置approximation 模式。
|
GetApproximationName
函数功能:
获取approximation mode,有两种mode,SIGMOID_FAST和SIGMOID_BETTER。
函数原型:
string GetApproximationName() const
参数说明:
参数名
|
输入/输出
|
说明
|
string
|
输出
|
获取ApproximationName。
|
LogSoftmax配置接口
无参数配置
GridSample配置接口
SetAlignCorners
函数功能:
设置align corner,取值0或1。
函数原型:
void SetAlignCorners(int32_t corners)
参数说明:
参数名
|
输入/输出
|
说明
|
corners
|
输入
|
角点像素是否中心对齐。
|
GetAlignCorners
函数功能:
获取align corner,返回值0或1。
函数原型:
int32_t GetAlignCorners() const
参数说明:
参数名
|
输入/输出
|
说明
|
int32_t
|
输出
|
角点像素是否中心对齐。
|
SetMode
函数功能:
设置'linear'、'nearest'或'cubic'三种插值模式,分别表示线性插值、临近插值、三次插值。
函数原型:
void SetMode(string mode)
参数说明:
参数名
|
输入/输出
|
说明
|
mode
|
输入
|
插值模式。
|
GetMode
函数功能:
获取'linear'、'nearest'或'cubic'三种插值模式,分别表示线性插值、临近插值、三次插值。
函数原型:
参数说明:
参数名
|
输入/输出
|
说明
|
string
|
输出
|
插值模式。
|
SetPaddingMode
函数功能:
设置'zeros'、'border'或'reflection'三种补边填充方式,分别表示0值模式、边缘模式、镜像模式。
函数原型:
void SetPaddingMode(string paddingMode)
参数说明:
参数名
|
输入/输出
|
说明
|
paddingMode
|
输入
|
补边填充方式。
|
GetPaddingMode
函数功能:
获取'zeros'、'border'或'reflection'三种补边填充方式,分别表示0值模式、边缘模式、镜像模式。
函数原型:
string GetPaddingMode() const
参数说明:
参数名
|
输入/输出
|
说明
|
string
|
输出
|
补边填充方式。
|
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。