rknncli 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,371 @@
1
+ # automatically generated by the FlatBuffers compiler, do not modify
2
+
3
+ # namespace: rknn
4
+
5
+ import flatbuffers
6
+ from flatbuffers.compat import import_numpy
7
+ np = import_numpy()
8
+
9
+ class Graph(object):
10
+ __slots__ = ['_tab']
11
+
12
+ @classmethod
13
+ def GetRootAs(cls, buf, offset=0):
14
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
15
+ x = Graph()
16
+ x.Init(buf, n + offset)
17
+ return x
18
+
19
+ @classmethod
20
+ def GetRootAsGraph(cls, buf, offset=0):
21
+ """This method is deprecated. Please switch to GetRootAs."""
22
+ return cls.GetRootAs(buf, offset)
23
+ @classmethod
24
+ def GraphBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
25
+ return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x52\x4B\x4E\x4E", size_prefixed=size_prefixed)
26
+
27
+ # Graph
28
+ def Init(self, buf, pos):
29
+ self._tab = flatbuffers.table.Table(buf, pos)
30
+
31
+ # Graph
32
+ def Tensors(self, j):
33
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
34
+ if o != 0:
35
+ x = self._tab.Vector(o)
36
+ x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
37
+ x = self._tab.Indirect(x)
38
+ from rknncli.schema.rknn.Tensor import Tensor
39
+ obj = Tensor()
40
+ obj.Init(self._tab.Bytes, x)
41
+ return obj
42
+ return None
43
+
44
+ # Graph
45
+ def TensorsLength(self):
46
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
47
+ if o != 0:
48
+ return self._tab.VectorLen(o)
49
+ return 0
50
+
51
+ # Graph
52
+ def TensorsIsNone(self):
53
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
54
+ return o == 0
55
+
56
+ # Graph
57
+ def Nodes(self, j):
58
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
59
+ if o != 0:
60
+ x = self._tab.Vector(o)
61
+ x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
62
+ x = self._tab.Indirect(x)
63
+ from rknncli.schema.rknn.Node import Node
64
+ obj = Node()
65
+ obj.Init(self._tab.Bytes, x)
66
+ return obj
67
+ return None
68
+
69
+ # Graph
70
+ def NodesLength(self):
71
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
72
+ if o != 0:
73
+ return self._tab.VectorLen(o)
74
+ return 0
75
+
76
+ # Graph
77
+ def NodesIsNone(self):
78
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
79
+ return o == 0
80
+
81
+ # Graph
82
+ def Inputs(self, j):
83
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
84
+ if o != 0:
85
+ a = self._tab.Vector(o)
86
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4))
87
+ return 0
88
+
89
+ # Graph
90
+ def InputsAsNumpy(self):
91
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
92
+ if o != 0:
93
+ return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Int32Flags, o)
94
+ return 0
95
+
96
+ # Graph
97
+ def InputsLength(self):
98
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
99
+ if o != 0:
100
+ return self._tab.VectorLen(o)
101
+ return 0
102
+
103
+ # Graph
104
+ def InputsIsNone(self):
105
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
106
+ return o == 0
107
+
108
+ # Graph
109
+ def Outputs(self, j):
110
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
111
+ if o != 0:
112
+ a = self._tab.Vector(o)
113
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4))
114
+ return 0
115
+
116
+ # Graph
117
+ def OutputsAsNumpy(self):
118
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
119
+ if o != 0:
120
+ return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Int32Flags, o)
121
+ return 0
122
+
123
+ # Graph
124
+ def OutputsLength(self):
125
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
126
+ if o != 0:
127
+ return self._tab.VectorLen(o)
128
+ return 0
129
+
130
+ # Graph
131
+ def OutputsIsNone(self):
132
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
133
+ return o == 0
134
+
135
+ # Graph
136
+ def Var1(self, j):
137
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
138
+ if o != 0:
139
+ x = self._tab.Vector(o)
140
+ x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
141
+ x = self._tab.Indirect(x)
142
+ from rknncli.schema.rknn.Type2 import Type2
143
+ obj = Type2()
144
+ obj.Init(self._tab.Bytes, x)
145
+ return obj
146
+ return None
147
+
148
+ # Graph
149
+ def Var1Length(self):
150
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
151
+ if o != 0:
152
+ return self._tab.VectorLen(o)
153
+ return 0
154
+
155
+ # Graph
156
+ def Var1IsNone(self):
157
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
158
+ return o == 0
159
+
160
+ def GraphStart(builder):
161
+ builder.StartObject(5)
162
+
163
+ def Start(builder):
164
+ GraphStart(builder)
165
+
166
+ def GraphAddTensors(builder, tensors):
167
+ builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(tensors), 0)
168
+
169
+ def AddTensors(builder, tensors):
170
+ GraphAddTensors(builder, tensors)
171
+
172
+ def GraphStartTensorsVector(builder, numElems):
173
+ return builder.StartVector(4, numElems, 4)
174
+
175
+ def StartTensorsVector(builder, numElems):
176
+ return GraphStartTensorsVector(builder, numElems)
177
+
178
+ def GraphAddNodes(builder, nodes):
179
+ builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(nodes), 0)
180
+
181
+ def AddNodes(builder, nodes):
182
+ GraphAddNodes(builder, nodes)
183
+
184
+ def GraphStartNodesVector(builder, numElems):
185
+ return builder.StartVector(4, numElems, 4)
186
+
187
+ def StartNodesVector(builder, numElems):
188
+ return GraphStartNodesVector(builder, numElems)
189
+
190
+ def GraphAddInputs(builder, inputs):
191
+ builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(inputs), 0)
192
+
193
+ def AddInputs(builder, inputs):
194
+ GraphAddInputs(builder, inputs)
195
+
196
+ def GraphStartInputsVector(builder, numElems):
197
+ return builder.StartVector(4, numElems, 4)
198
+
199
+ def StartInputsVector(builder, numElems):
200
+ return GraphStartInputsVector(builder, numElems)
201
+
202
+ def GraphAddOutputs(builder, outputs):
203
+ builder.PrependUOffsetTRelativeSlot(3, flatbuffers.number_types.UOffsetTFlags.py_type(outputs), 0)
204
+
205
+ def AddOutputs(builder, outputs):
206
+ GraphAddOutputs(builder, outputs)
207
+
208
+ def GraphStartOutputsVector(builder, numElems):
209
+ return builder.StartVector(4, numElems, 4)
210
+
211
+ def StartOutputsVector(builder, numElems):
212
+ return GraphStartOutputsVector(builder, numElems)
213
+
214
+ def GraphAddVar1(builder, var1):
215
+ builder.PrependUOffsetTRelativeSlot(4, flatbuffers.number_types.UOffsetTFlags.py_type(var1), 0)
216
+
217
+ def AddVar1(builder, var1):
218
+ GraphAddVar1(builder, var1)
219
+
220
+ def GraphStartVar1Vector(builder, numElems):
221
+ return builder.StartVector(4, numElems, 4)
222
+
223
+ def StartVar1Vector(builder, numElems):
224
+ return GraphStartVar1Vector(builder, numElems)
225
+
226
+ def GraphEnd(builder):
227
+ return builder.EndObject()
228
+
229
+ def End(builder):
230
+ return GraphEnd(builder)
231
+
232
+ import rknncli.schema.rknn.Node
233
+ import rknncli.schema.rknn.Tensor
234
+ import rknncli.schema.rknn.Type2
235
+ try:
236
+ from typing import List
237
+ except:
238
+ pass
239
+
240
+ class GraphT(object):
241
+
242
+ # GraphT
243
+ def __init__(
244
+ self,
245
+ tensors = None,
246
+ nodes = None,
247
+ inputs = None,
248
+ outputs = None,
249
+ var1 = None,
250
+ ):
251
+ self.tensors = tensors # type: Optional[List[rknn.Tensor.TensorT]]
252
+ self.nodes = nodes # type: Optional[List[rknn.Node.NodeT]]
253
+ self.inputs = inputs # type: Optional[List[int]]
254
+ self.outputs = outputs # type: Optional[List[int]]
255
+ self.var1 = var1 # type: Optional[List[rknn.Type2.Type2T]]
256
+
257
+ @classmethod
258
+ def InitFromBuf(cls, buf, pos):
259
+ graph = Graph()
260
+ graph.Init(buf, pos)
261
+ return cls.InitFromObj(graph)
262
+
263
+ @classmethod
264
+ def InitFromPackedBuf(cls, buf, pos=0):
265
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
266
+ return cls.InitFromBuf(buf, pos+n)
267
+
268
+ @classmethod
269
+ def InitFromObj(cls, graph):
270
+ x = GraphT()
271
+ x._UnPack(graph)
272
+ return x
273
+
274
+ # GraphT
275
+ def _UnPack(self, graph):
276
+ if graph is None:
277
+ return
278
+ if not graph.TensorsIsNone():
279
+ self.tensors = []
280
+ for i in range(graph.TensorsLength()):
281
+ if graph.Tensors(i) is None:
282
+ self.tensors.append(None)
283
+ else:
284
+ tensor_ = rknn.Tensor.TensorT.InitFromObj(graph.Tensors(i))
285
+ self.tensors.append(tensor_)
286
+ if not graph.NodesIsNone():
287
+ self.nodes = []
288
+ for i in range(graph.NodesLength()):
289
+ if graph.Nodes(i) is None:
290
+ self.nodes.append(None)
291
+ else:
292
+ node_ = rknn.Node.NodeT.InitFromObj(graph.Nodes(i))
293
+ self.nodes.append(node_)
294
+ if not graph.InputsIsNone():
295
+ if np is None:
296
+ self.inputs = []
297
+ for i in range(graph.InputsLength()):
298
+ self.inputs.append(graph.Inputs(i))
299
+ else:
300
+ self.inputs = graph.InputsAsNumpy()
301
+ if not graph.OutputsIsNone():
302
+ if np is None:
303
+ self.outputs = []
304
+ for i in range(graph.OutputsLength()):
305
+ self.outputs.append(graph.Outputs(i))
306
+ else:
307
+ self.outputs = graph.OutputsAsNumpy()
308
+ if not graph.Var1IsNone():
309
+ self.var1 = []
310
+ for i in range(graph.Var1Length()):
311
+ if graph.Var1(i) is None:
312
+ self.var1.append(None)
313
+ else:
314
+ type2_ = rknn.Type2.Type2T.InitFromObj(graph.Var1(i))
315
+ self.var1.append(type2_)
316
+
317
+ # GraphT
318
+ def Pack(self, builder):
319
+ if self.tensors is not None:
320
+ tensorslist = []
321
+ for i in range(len(self.tensors)):
322
+ tensorslist.append(self.tensors[i].Pack(builder))
323
+ GraphStartTensorsVector(builder, len(self.tensors))
324
+ for i in reversed(range(len(self.tensors))):
325
+ builder.PrependUOffsetTRelative(tensorslist[i])
326
+ tensors = builder.EndVector()
327
+ if self.nodes is not None:
328
+ nodeslist = []
329
+ for i in range(len(self.nodes)):
330
+ nodeslist.append(self.nodes[i].Pack(builder))
331
+ GraphStartNodesVector(builder, len(self.nodes))
332
+ for i in reversed(range(len(self.nodes))):
333
+ builder.PrependUOffsetTRelative(nodeslist[i])
334
+ nodes = builder.EndVector()
335
+ if self.inputs is not None:
336
+ if np is not None and type(self.inputs) is np.ndarray:
337
+ inputs = builder.CreateNumpyVector(self.inputs)
338
+ else:
339
+ GraphStartInputsVector(builder, len(self.inputs))
340
+ for i in reversed(range(len(self.inputs))):
341
+ builder.PrependInt32(self.inputs[i])
342
+ inputs = builder.EndVector()
343
+ if self.outputs is not None:
344
+ if np is not None and type(self.outputs) is np.ndarray:
345
+ outputs = builder.CreateNumpyVector(self.outputs)
346
+ else:
347
+ GraphStartOutputsVector(builder, len(self.outputs))
348
+ for i in reversed(range(len(self.outputs))):
349
+ builder.PrependInt32(self.outputs[i])
350
+ outputs = builder.EndVector()
351
+ if self.var1 is not None:
352
+ var1list = []
353
+ for i in range(len(self.var1)):
354
+ var1list.append(self.var1[i].Pack(builder))
355
+ GraphStartVar1Vector(builder, len(self.var1))
356
+ for i in reversed(range(len(self.var1))):
357
+ builder.PrependUOffsetTRelative(var1list[i])
358
+ var1 = builder.EndVector()
359
+ GraphStart(builder)
360
+ if self.tensors is not None:
361
+ GraphAddTensors(builder, tensors)
362
+ if self.nodes is not None:
363
+ GraphAddNodes(builder, nodes)
364
+ if self.inputs is not None:
365
+ GraphAddInputs(builder, inputs)
366
+ if self.outputs is not None:
367
+ GraphAddOutputs(builder, outputs)
368
+ if self.var1 is not None:
369
+ GraphAddVar1(builder, var1)
370
+ graph = GraphEnd(builder)
371
+ return graph