# Node ## 概述 算子节点结构体。 nodeAttr参数是一段被序列化的数据,并调用OHOS的hdi的反序列化接口才能得到具体参数。大致流程如下: 1. 定义算子参数的结构体,OP op{},其中OP可以被替换为[NodeAttrTypes.idl](_node_attr_types_8idl.md)的算子参数结构体,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](_full_connection.md), 则该算子具有四个参数:hasBias,useAxis,axis和activationType。 则按照如下流程调用: 1. [FullConnection](_full_connection.md) full_connection{}; 2. OHOS::MessageParcel data; 3. data.WriteBuffer(nodeAttr.data(),nodeAttr.size()); 4. (void)FullConnectionBlockUnmarshalling(data, full_connection); 至此FullConnection的四个参数就写入了full_connection中。 **Since:** 3.2 **Version:** 1.0 **相关模块:** [NNRt](_n_n_rt.md) ## 汇总 ### Public 属性 | 名称 | 描述 | | -------- | -------- | | [name](#name) | String
算子节点的名称 。 | | [nodeType](#nodetype) | enum [NodeType](_n_n_rt.md#nodetype)
算子节点的类型,详情请参考:[NodeType](_n_n_rt.md#nodetype)。 | | [nodeAttr](#nodeattr) | byte[]
算子节点的参数对应的序列化数组。 | | [inputIndex](#inputindex) | unsigned int[]
算子节点的输入节点下标。 | | [outputIndex](#outputindex) | unsigned int[]
算子节点的输出节点下标。 | | [quantType](#quanttype) | enum [QuantType](_n_n_rt.md#quanttype)
算子节点的量化参数,详情请参考:[QuantType](_n_n_rt.md#quanttype)。 | ## 类成员变量说明 ### inputIndex ``` unsigned int [] Node::inputIndex ``` **描述:** 算子节点的输入节点下标。 ### name ``` String Node::name ``` **描述:** 算子节点的名称 。 ### nodeAttr ``` byte [] Node::nodeAttr ``` **描述:** 算子节点的参数对应的序列化数组。 ### nodeType ``` enum NodeType Node::nodeType ``` **描述:** 算子节点的类型,详情请参考:[NodeType](_n_n_rt.md#nodetype)。 ### outputIndex ``` unsigned int [] Node::outputIndex ``` **描述:** 算子节点的输出节点下标。 ### quantType ``` enum QuantType Node::quantType ``` **描述:** 算子节点的量化参数,详情请参考:[QuantType](_n_n_rt.md#quanttype)。