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_v10.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_v10.md), 则该算子具有四个参数:hasBias,useAxis,axis和activationType。 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci则按照如下流程调用: 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci1. [FullConnection](_full_connection_v10.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_v10.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_v10.md#nodetype)[nodeType](#nodetype) | 算子节点的类型,详情请参考:[NodeType](_n_n_rt_v10.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_v10.md#quanttype)[quantType](#quanttype) | 算子节点的量化参数,详情请参考:[QuantType](_n_n_rt_v10.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_v10.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_v10.md#quanttype)。 127