1 # Node
2 
3 
4 ## 概述
5 
6 算子节点结构体。
7 
8 nodeAttr参数是一段被序列化的数据,并调用OHOS的hdi的反序列化接口才能得到具体参数。 大致流程如下:
9 
10 1. 定义算子参数的结构体,OP op{},其中OP可以被替换为[NodeAttrTypes.idl](_node_attr_types_8idl_v10.md)的算子参数结构体,op是变量名;
11 
12 2. 申明MessageParcle对象,用存储反序列化的数据,OHOS::MessageParcel data;
13 
14 3. 将nodeAttr写入data中,data.WriteBuffer(nodeAttr.data(),nodeAttr.size());
15 
16 4. 将data中的数据反序列化到op结构体中,(void)OPBlockUnmarshalling(data, op);
17 
18 然后就可以在op中查看具体的算子的参数值。
19 
20 例如: 某一个算子的 nodeType为NODE_TYPE_FULL_CONNECTION,那么它所对应的算子参数结构体应该为[FullConnection](_full_connection_v10.md), 则该算子具有四个参数:hasBias,useAxis,axis和activationType。
21 
22 则按照如下流程调用:
23 
24 1. [FullConnection](_full_connection_v10.md) full_connection{};
25 
26 2. OHOS::MessageParcel data;
27 
28 3. data.WriteBuffer(nodeAttr.data(),nodeAttr.size());
29 
30 4. (void)FullConnectionBlockUnmarshalling(data, full_connection);
31 
32 至此FullConnection的四个参数就写入了full_connection中。
33 
34 **起始版本:** 3.2
35 
36 **相关模块:**[NNRt](_n_n_rt_v10.md)
37 
38 
39 ## 汇总
40 
41 
42 ### Public 属性
43 
44 | 名称 | 描述 |
45 | -------- | -------- |
46 | String [name](#name) | 算子节点的名称 。 |
47 | enum [NodeType](_n_n_rt_v10.md#nodetype)[nodeType](#nodetype) | 算子节点的类型,详情请参考:[NodeType](_n_n_rt_v10.md#nodetype)。 |
48 | byte[] [nodeAttr](#nodeattr) | 算子节点的参数对应的序列化数组。 |
49 | unsigned int[] [inputIndex](#inputindex) | 算子节点的输入节点下标。 |
50 | unsigned int[] [outputIndex](#outputindex) | 算子节点的输出节点下标。 |
51 | enum [QuantType](_n_n_rt_v10.md#quanttype)[quantType](#quanttype) | 算子节点的量化参数,详情请参考:[QuantType](_n_n_rt_v10.md#quanttype)。 |
52 
53 
54 ## 类成员变量说明
55 
56 
57 ### inputIndex
58 
59 ```
60 unsigned int [] Node::inputIndex
61 ```
62 
63 **描述**
64 
65 
66 算子节点的输入节点下标。
67 
68 
69 ### name
70 
71 ```
72 String Node::name
73 ```
74 
75 **描述**
76 
77 
78 算子节点的名称 。
79 
80 
81 ### nodeAttr
82 
83 ```
84 byte [] Node::nodeAttr
85 ```
86 
87 **描述**
88 
89 
90 算子节点的参数对应的序列化数组。
91 
92 
93 ### nodeType
94 
95 ```
96 enum NodeType Node::nodeType
97 ```
98 
99 **描述**
100 
101 
102 算子节点的类型,详情请参考:[NodeType](_n_n_rt_v10.md#nodetype)。
103 
104 
105 ### outputIndex
106 
107 ```
108 unsigned int [] Node::outputIndex
109 ```
110 
111 **描述**
112 
113 
114 算子节点的输出节点下标。
115 
116 
117 ### quantType
118 
119 ```
120 enum QuantType Node::quantType
121 ```
122 
123 **描述**
124 
125 
126 算子节点的量化参数,详情请参考:[QuantType](_n_n_rt_v10.md#quanttype)。
127