NodeAttrTypes.idl
概述
该文件定义AI模型算子的参数和功能。
该文文件中所有的结构体仅声明了算子的属性,并不包含执行算子函数的接口,具体介绍如下:
-
该文件中每一个算子都与NodeType的枚举值一一对应,执行模型推理时,NodeType会在Node的nodeType中存储;
-
每一个算子都至少有一个“输入”与“输出”,“输入”即为该算子接收的张量,“输出”为经过算子运算之后得到的“张量”;“输入”、“算子”和“输出”之间的关系需要通过Node结构体的inputIndex和outIndex来确认。
模块包路径:ohos.hdi.nnrt.v1_0
引用:ohos.hdi.nnrt.v1_0.NnrtTypes
起始版本: 3.2
相关模块:NNRt
汇总
类
名称 | 描述 |
---|---|
struct Activation | 激活类型的算子,所有的激活函数都属于该算子,具体的激活函数类型一句参数来确定。 |
struct AddFusion | 输入Tensor逐元素相加, 输出x和y的和,数据形状与输入broadcast之后一样,数据类型与较高精度的输入精度一致。 |
struct ArgMaxFusion | 返回跨轴的tensor前K个索引或者是数值。 |
struct AvgPoolFusion | 在输入tensor上应用 2D 平均池化。支持int8量化输入。 |
struct BatchToSpaceND | 将一个4维tensor的batch维度按block_shape切分成小块,并将这些小块拼接到空间维度。 |
struct BiasAdd | 对给出的输入张量上的各个维度方向上的数据进行偏置。 |
struct Cast | 根据输出张量的类型对张量数据类型进行转换。 |
struct Concat | 在指定轴上连接张量,将输入张量按给定的轴连接起来。 |
struct Conv2DFusion | 对将4维的tensor执行带有偏置的二维卷积运算。 |
struct Conv2dTransposeFusion | 对一个4维的tensor执行带有偏置的二维反卷积。 |
struct DivFusion | 将两个tensor执行除法运算。 |
struct Eltwise | 元素级别操作的算子。 |
struct ExpandDims | 在给定轴上为tensor添加一个额外的维度。 |
struct Fill | 根据指定的维度,创建由一个标量填充的tensor。 |
struct FullConnection | 对输入数据做全连接。 |
struct FusedBatchNorm | 对一个tensor进行批标准化的运算。 |
struct Gather | 根据指定的索引和轴返回输入tensor的切片。 |
struct LayerNormFusion | 对一个tensor从某一axis开始做层归一化。 |
struct LessEqual | 对输入x1和x2,计算每对元素的x1<=x2的结果。 |
struct MatMulFusion | 对输入x1和x2,计算x1和x2的内积。 |
struct Maximum | 对输入x1和x2,计算x1和x2对应元素最大值,x1和x2的输入遵守隐式类型转换规则,使数据类型一致。 |
struct MaxPoolFusion | 对输入x,计算 2D 最大值池化。 |
struct MulFusion | 对输入x1和x2,将x1和x2相同的位置的元素相乘得到output。 |
struct OneHot | 根据indices指定的位置,生成一个由one-hot向量构成的tensor。 |
struct PadFusion | 在x指定维度的数据前后,添加指定数值进行增广。 |
struct PowFusion | 求x的y次幂,输入必须是两个tensor或一个tensor和一个标量。 |
struct PReLUFusion | 计算x和weight的PReLU激活值。 |
struct QuantDTypeCast | 数据类型转换。 |
struct ReduceFusion | 减小x张量的维度。 |
struct Reshape | 根据inputShape调整input的形状。 |
struct Resize | 按给定的参数对输入的张量进行变形。 |
struct Rsqrt | 求x的平方根的倒数。 |
struct ScaleFusion | 给定一个tensor,计算其缩放后的值。 |
struct Shape | 输出输入tensor的形状。 |
struct SliceFusion | 在x各维度,在axes维度中,以begin为起点,截取size长度的切片。 |
struct Softmax | 给定一个tensor,计算其softmax结果。 |
struct SpaceToBatchND | 将4维张量在空间维度上进行切分成多个小块,然后在batch维度上拼接这些小块。 |
struct Split | 算子沿 axis 维度将x拆分成多个张量,张量数量由outputNum指定。 |
struct Sqrt | 给定一个tensor,计算其平方根。 |
struct SquaredDifference | 计算两个输入的差值并返回差值的平方。SquaredDifference算子支持tensor和tensor相减。 |
struct Squeeze | 去除axis中,长度为1的维度。支持int8量化输入。 |
struct Stack | 将一组tensor沿axis维度进行堆叠,堆叠前每个tensor的维数为n,则堆叠后output维数为n+1。 |
struct StridedSlice | 根据步长和索引对输入张量进行切片提取。 |
struct SubFusion | 计算两个输入的差值。 |
struct TileFusion | 以multiples指定的次数拷贝输入张量。 |
struct TopKFusion | 查找沿axis轴的前K个最大值和对应索引。 |
struct Transpose | 根据perm对x进行数据重排。 |
struct Unsqueeze | 根据输入axis的值。增加一个维度。 |