Node

概述

算子节点结构体。

nodeAttr参数是一段被序列化的数据,并调用OHOS的hdi的反序列化接口才能得到具体参数。 大致流程如下:

  1. 定义算子参数的结构体,OP op{},其中OP可以被替换为NodeAttrTypes.idl的算子参数结构体,op是变量名;

  2. 申明MessageParcle对象,用存储反序列化的数据,OHOS::MessageParcel data;

  3. 将nodeAttr写入data中,data.WriteBuffer(nodeAttr.data(),nodeAttr.size());

  4. 将data中的数据反序列化到op结构体中,(void)OPBlockUnmarshalling(data, op);

然后就可以在op中查看具体的算子的参数值。

例如: 某一个算子的 nodeType为NODE_TYPE_FULL_CONNECTION,那么它所对应的算子参数结构体应该为FullConnection, 则该算子具有四个参数:hasBias,useAxis,axis和activationType。

则按照如下流程调用:

  1. FullConnection full_connection{};

  2. OHOS::MessageParcel data;

  3. data.WriteBuffer(nodeAttr.data(),nodeAttr.size());

  4. (void)FullConnectionBlockUnmarshalling(data, full_connection);

至此FullConnection的四个参数就写入了full_connection中。

起始版本: 3.2

相关模块:NNRt

汇总

Public 属性

名称 描述
String name 算子节点的名称 。
enum NodeTypenodeType 算子节点的类型,详情请参考:NodeType
byte[] nodeAttr 算子节点的参数对应的序列化数组。
unsigned int[] inputIndex 算子节点的输入节点下标。
unsigned int[] outputIndex 算子节点的输出节点下标。
enum QuantTypequantType 算子节点的量化参数,详情请参考:QuantType

类成员变量说明

inputIndex

unsigned int [] Node::inputIndex

描述

算子节点的输入节点下标。

name

String Node::name

描述

算子节点的名称 。

nodeAttr

byte [] Node::nodeAttr

描述

算子节点的参数对应的序列化数组。

nodeType

enum NodeType Node::nodeType

描述

算子节点的类型,详情请参考:NodeType

outputIndex

unsigned int [] Node::outputIndex

描述

算子节点的输出节点下标。

quantType

enum QuantType Node::quantType

描述

算子节点的量化参数,详情请参考:QuantType