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