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