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的值。增加一个维度。