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.
- rknncli/__init__.py +3 -0
- rknncli/cli.py +229 -0
- rknncli/parser.py +320 -0
- rknncli/schema/rknn/Graph.py +371 -0
- rknncli/schema/rknn/Model.py +422 -0
- rknncli/schema/rknn/Node.py +380 -0
- rknncli/schema/rknn/Tensor.py +697 -0
- rknncli/schema/rknn/Type1.py +94 -0
- rknncli/schema/rknn/Type2.py +255 -0
- rknncli/schema/rknn/Type3.py +94 -0
- rknncli/schema/rknn/__init__.py +0 -0
- rknncli-0.2.0.dist-info/METADATA +69 -0
- rknncli-0.2.0.dist-info/RECORD +16 -0
- rknncli-0.2.0.dist-info/WHEEL +5 -0
- rknncli-0.2.0.dist-info/entry_points.txt +2 -0
- rknncli-0.2.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,422 @@
|
|
|
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 Model(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 = Model()
|
|
16
|
+
x.Init(buf, n + offset)
|
|
17
|
+
return x
|
|
18
|
+
|
|
19
|
+
@classmethod
|
|
20
|
+
def GetRootAsModel(cls, buf, offset=0):
|
|
21
|
+
"""This method is deprecated. Please switch to GetRootAs."""
|
|
22
|
+
return cls.GetRootAs(buf, offset)
|
|
23
|
+
@classmethod
|
|
24
|
+
def ModelBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
|
|
25
|
+
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x52\x4B\x4E\x4E", size_prefixed=size_prefixed)
|
|
26
|
+
|
|
27
|
+
# Model
|
|
28
|
+
def Init(self, buf, pos):
|
|
29
|
+
self._tab = flatbuffers.table.Table(buf, pos)
|
|
30
|
+
|
|
31
|
+
# Model
|
|
32
|
+
def Var1(self):
|
|
33
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
|
|
34
|
+
if o != 0:
|
|
35
|
+
return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
|
|
36
|
+
return 0
|
|
37
|
+
|
|
38
|
+
# Model
|
|
39
|
+
def Format(self):
|
|
40
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
|
|
41
|
+
if o != 0:
|
|
42
|
+
return self._tab.String(o + self._tab.Pos)
|
|
43
|
+
return None
|
|
44
|
+
|
|
45
|
+
# Model
|
|
46
|
+
def Graphs(self, j):
|
|
47
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
|
|
48
|
+
if o != 0:
|
|
49
|
+
x = self._tab.Vector(o)
|
|
50
|
+
x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
|
|
51
|
+
x = self._tab.Indirect(x)
|
|
52
|
+
from rknncli.schema.rknn.Graph import Graph
|
|
53
|
+
obj = Graph()
|
|
54
|
+
obj.Init(self._tab.Bytes, x)
|
|
55
|
+
return obj
|
|
56
|
+
return None
|
|
57
|
+
|
|
58
|
+
# Model
|
|
59
|
+
def GraphsLength(self):
|
|
60
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
|
|
61
|
+
if o != 0:
|
|
62
|
+
return self._tab.VectorLen(o)
|
|
63
|
+
return 0
|
|
64
|
+
|
|
65
|
+
# Model
|
|
66
|
+
def GraphsIsNone(self):
|
|
67
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
|
|
68
|
+
return o == 0
|
|
69
|
+
|
|
70
|
+
# Model
|
|
71
|
+
def Generator(self):
|
|
72
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
|
|
73
|
+
if o != 0:
|
|
74
|
+
return self._tab.String(o + self._tab.Pos)
|
|
75
|
+
return None
|
|
76
|
+
|
|
77
|
+
# Model
|
|
78
|
+
def Var2(self, j):
|
|
79
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
|
|
80
|
+
if o != 0:
|
|
81
|
+
x = self._tab.Vector(o)
|
|
82
|
+
x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
|
|
83
|
+
x = self._tab.Indirect(x)
|
|
84
|
+
from rknncli.schema.rknn.Type1 import Type1
|
|
85
|
+
obj = Type1()
|
|
86
|
+
obj.Init(self._tab.Bytes, x)
|
|
87
|
+
return obj
|
|
88
|
+
return None
|
|
89
|
+
|
|
90
|
+
# Model
|
|
91
|
+
def Var2Length(self):
|
|
92
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
|
|
93
|
+
if o != 0:
|
|
94
|
+
return self._tab.VectorLen(o)
|
|
95
|
+
return 0
|
|
96
|
+
|
|
97
|
+
# Model
|
|
98
|
+
def Var2IsNone(self):
|
|
99
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
|
|
100
|
+
return o == 0
|
|
101
|
+
|
|
102
|
+
# Model
|
|
103
|
+
def Var3(self):
|
|
104
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(14))
|
|
105
|
+
if o != 0:
|
|
106
|
+
return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
|
|
107
|
+
return 0
|
|
108
|
+
|
|
109
|
+
# Model
|
|
110
|
+
def Var4(self):
|
|
111
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16))
|
|
112
|
+
if o != 0:
|
|
113
|
+
return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
|
|
114
|
+
return 0
|
|
115
|
+
|
|
116
|
+
# Model
|
|
117
|
+
def Compiler(self):
|
|
118
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(18))
|
|
119
|
+
if o != 0:
|
|
120
|
+
return self._tab.String(o + self._tab.Pos)
|
|
121
|
+
return None
|
|
122
|
+
|
|
123
|
+
# Model
|
|
124
|
+
def Runtime(self):
|
|
125
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20))
|
|
126
|
+
if o != 0:
|
|
127
|
+
return self._tab.String(o + self._tab.Pos)
|
|
128
|
+
return None
|
|
129
|
+
|
|
130
|
+
# Model
|
|
131
|
+
def Source(self):
|
|
132
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(22))
|
|
133
|
+
if o != 0:
|
|
134
|
+
return self._tab.String(o + self._tab.Pos)
|
|
135
|
+
return None
|
|
136
|
+
|
|
137
|
+
# Model
|
|
138
|
+
def Var5(self):
|
|
139
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(24))
|
|
140
|
+
if o != 0:
|
|
141
|
+
return bool(self._tab.Get(flatbuffers.number_types.BoolFlags, o + self._tab.Pos))
|
|
142
|
+
return False
|
|
143
|
+
|
|
144
|
+
# Model
|
|
145
|
+
def Var6(self):
|
|
146
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(26))
|
|
147
|
+
if o != 0:
|
|
148
|
+
return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
|
|
149
|
+
return 0
|
|
150
|
+
|
|
151
|
+
# Model
|
|
152
|
+
def InputJson(self):
|
|
153
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(28))
|
|
154
|
+
if o != 0:
|
|
155
|
+
return self._tab.String(o + self._tab.Pos)
|
|
156
|
+
return None
|
|
157
|
+
|
|
158
|
+
# Model
|
|
159
|
+
def OutputJson(self):
|
|
160
|
+
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(30))
|
|
161
|
+
if o != 0:
|
|
162
|
+
return self._tab.String(o + self._tab.Pos)
|
|
163
|
+
return None
|
|
164
|
+
|
|
165
|
+
def ModelStart(builder):
|
|
166
|
+
builder.StartObject(14)
|
|
167
|
+
|
|
168
|
+
def Start(builder):
|
|
169
|
+
ModelStart(builder)
|
|
170
|
+
|
|
171
|
+
def ModelAddVar1(builder, var1):
|
|
172
|
+
builder.PrependInt32Slot(0, var1, 0)
|
|
173
|
+
|
|
174
|
+
def AddVar1(builder, var1):
|
|
175
|
+
ModelAddVar1(builder, var1)
|
|
176
|
+
|
|
177
|
+
def ModelAddFormat(builder, format):
|
|
178
|
+
builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(format), 0)
|
|
179
|
+
|
|
180
|
+
def AddFormat(builder, format):
|
|
181
|
+
ModelAddFormat(builder, format)
|
|
182
|
+
|
|
183
|
+
def ModelAddGraphs(builder, graphs):
|
|
184
|
+
builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(graphs), 0)
|
|
185
|
+
|
|
186
|
+
def AddGraphs(builder, graphs):
|
|
187
|
+
ModelAddGraphs(builder, graphs)
|
|
188
|
+
|
|
189
|
+
def ModelStartGraphsVector(builder, numElems):
|
|
190
|
+
return builder.StartVector(4, numElems, 4)
|
|
191
|
+
|
|
192
|
+
def StartGraphsVector(builder, numElems):
|
|
193
|
+
return ModelStartGraphsVector(builder, numElems)
|
|
194
|
+
|
|
195
|
+
def ModelAddGenerator(builder, generator):
|
|
196
|
+
builder.PrependUOffsetTRelativeSlot(3, flatbuffers.number_types.UOffsetTFlags.py_type(generator), 0)
|
|
197
|
+
|
|
198
|
+
def AddGenerator(builder, generator):
|
|
199
|
+
ModelAddGenerator(builder, generator)
|
|
200
|
+
|
|
201
|
+
def ModelAddVar2(builder, var2):
|
|
202
|
+
builder.PrependUOffsetTRelativeSlot(4, flatbuffers.number_types.UOffsetTFlags.py_type(var2), 0)
|
|
203
|
+
|
|
204
|
+
def AddVar2(builder, var2):
|
|
205
|
+
ModelAddVar2(builder, var2)
|
|
206
|
+
|
|
207
|
+
def ModelStartVar2Vector(builder, numElems):
|
|
208
|
+
return builder.StartVector(4, numElems, 4)
|
|
209
|
+
|
|
210
|
+
def StartVar2Vector(builder, numElems):
|
|
211
|
+
return ModelStartVar2Vector(builder, numElems)
|
|
212
|
+
|
|
213
|
+
def ModelAddVar3(builder, var3):
|
|
214
|
+
builder.PrependInt32Slot(5, var3, 0)
|
|
215
|
+
|
|
216
|
+
def AddVar3(builder, var3):
|
|
217
|
+
ModelAddVar3(builder, var3)
|
|
218
|
+
|
|
219
|
+
def ModelAddVar4(builder, var4):
|
|
220
|
+
builder.PrependInt32Slot(6, var4, 0)
|
|
221
|
+
|
|
222
|
+
def AddVar4(builder, var4):
|
|
223
|
+
ModelAddVar4(builder, var4)
|
|
224
|
+
|
|
225
|
+
def ModelAddCompiler(builder, compiler):
|
|
226
|
+
builder.PrependUOffsetTRelativeSlot(7, flatbuffers.number_types.UOffsetTFlags.py_type(compiler), 0)
|
|
227
|
+
|
|
228
|
+
def AddCompiler(builder, compiler):
|
|
229
|
+
ModelAddCompiler(builder, compiler)
|
|
230
|
+
|
|
231
|
+
def ModelAddRuntime(builder, runtime):
|
|
232
|
+
builder.PrependUOffsetTRelativeSlot(8, flatbuffers.number_types.UOffsetTFlags.py_type(runtime), 0)
|
|
233
|
+
|
|
234
|
+
def AddRuntime(builder, runtime):
|
|
235
|
+
ModelAddRuntime(builder, runtime)
|
|
236
|
+
|
|
237
|
+
def ModelAddSource(builder, source):
|
|
238
|
+
builder.PrependUOffsetTRelativeSlot(9, flatbuffers.number_types.UOffsetTFlags.py_type(source), 0)
|
|
239
|
+
|
|
240
|
+
def AddSource(builder, source):
|
|
241
|
+
ModelAddSource(builder, source)
|
|
242
|
+
|
|
243
|
+
def ModelAddVar5(builder, var5):
|
|
244
|
+
builder.PrependBoolSlot(10, var5, 0)
|
|
245
|
+
|
|
246
|
+
def AddVar5(builder, var5):
|
|
247
|
+
ModelAddVar5(builder, var5)
|
|
248
|
+
|
|
249
|
+
def ModelAddVar6(builder, var6):
|
|
250
|
+
builder.PrependInt32Slot(11, var6, 0)
|
|
251
|
+
|
|
252
|
+
def AddVar6(builder, var6):
|
|
253
|
+
ModelAddVar6(builder, var6)
|
|
254
|
+
|
|
255
|
+
def ModelAddInputJson(builder, inputJson):
|
|
256
|
+
builder.PrependUOffsetTRelativeSlot(12, flatbuffers.number_types.UOffsetTFlags.py_type(inputJson), 0)
|
|
257
|
+
|
|
258
|
+
def AddInputJson(builder, inputJson):
|
|
259
|
+
ModelAddInputJson(builder, inputJson)
|
|
260
|
+
|
|
261
|
+
def ModelAddOutputJson(builder, outputJson):
|
|
262
|
+
builder.PrependUOffsetTRelativeSlot(13, flatbuffers.number_types.UOffsetTFlags.py_type(outputJson), 0)
|
|
263
|
+
|
|
264
|
+
def AddOutputJson(builder, outputJson):
|
|
265
|
+
ModelAddOutputJson(builder, outputJson)
|
|
266
|
+
|
|
267
|
+
def ModelEnd(builder):
|
|
268
|
+
return builder.EndObject()
|
|
269
|
+
|
|
270
|
+
def End(builder):
|
|
271
|
+
return ModelEnd(builder)
|
|
272
|
+
|
|
273
|
+
import rknncli.schema.rknn.Graph
|
|
274
|
+
import rknncli.schema.rknn.Type1
|
|
275
|
+
try:
|
|
276
|
+
from typing import List
|
|
277
|
+
except:
|
|
278
|
+
pass
|
|
279
|
+
|
|
280
|
+
class ModelT(object):
|
|
281
|
+
|
|
282
|
+
# ModelT
|
|
283
|
+
def __init__(
|
|
284
|
+
self,
|
|
285
|
+
var1 = 0,
|
|
286
|
+
format = None,
|
|
287
|
+
graphs = None,
|
|
288
|
+
generator = None,
|
|
289
|
+
var2 = None,
|
|
290
|
+
var3 = 0,
|
|
291
|
+
var4 = 0,
|
|
292
|
+
compiler = None,
|
|
293
|
+
runtime = None,
|
|
294
|
+
source = None,
|
|
295
|
+
var5 = False,
|
|
296
|
+
var6 = 0,
|
|
297
|
+
inputJson = None,
|
|
298
|
+
outputJson = None,
|
|
299
|
+
):
|
|
300
|
+
self.var1 = var1 # type: int
|
|
301
|
+
self.format = format # type: Optional[str]
|
|
302
|
+
self.graphs = graphs # type: Optional[List[rknn.Graph.GraphT]]
|
|
303
|
+
self.generator = generator # type: Optional[str]
|
|
304
|
+
self.var2 = var2 # type: Optional[List[rknn.Type1.Type1T]]
|
|
305
|
+
self.var3 = var3 # type: int
|
|
306
|
+
self.var4 = var4 # type: int
|
|
307
|
+
self.compiler = compiler # type: Optional[str]
|
|
308
|
+
self.runtime = runtime # type: Optional[str]
|
|
309
|
+
self.source = source # type: Optional[str]
|
|
310
|
+
self.var5 = var5 # type: bool
|
|
311
|
+
self.var6 = var6 # type: int
|
|
312
|
+
self.inputJson = inputJson # type: Optional[str]
|
|
313
|
+
self.outputJson = outputJson # type: Optional[str]
|
|
314
|
+
|
|
315
|
+
@classmethod
|
|
316
|
+
def InitFromBuf(cls, buf, pos):
|
|
317
|
+
model = Model()
|
|
318
|
+
model.Init(buf, pos)
|
|
319
|
+
return cls.InitFromObj(model)
|
|
320
|
+
|
|
321
|
+
@classmethod
|
|
322
|
+
def InitFromPackedBuf(cls, buf, pos=0):
|
|
323
|
+
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
|
|
324
|
+
return cls.InitFromBuf(buf, pos+n)
|
|
325
|
+
|
|
326
|
+
@classmethod
|
|
327
|
+
def InitFromObj(cls, model):
|
|
328
|
+
x = ModelT()
|
|
329
|
+
x._UnPack(model)
|
|
330
|
+
return x
|
|
331
|
+
|
|
332
|
+
# ModelT
|
|
333
|
+
def _UnPack(self, model):
|
|
334
|
+
if model is None:
|
|
335
|
+
return
|
|
336
|
+
self.var1 = model.Var1()
|
|
337
|
+
self.format = model.Format()
|
|
338
|
+
if not model.GraphsIsNone():
|
|
339
|
+
self.graphs = []
|
|
340
|
+
for i in range(model.GraphsLength()):
|
|
341
|
+
if model.Graphs(i) is None:
|
|
342
|
+
self.graphs.append(None)
|
|
343
|
+
else:
|
|
344
|
+
graph_ = rknn.Graph.GraphT.InitFromObj(model.Graphs(i))
|
|
345
|
+
self.graphs.append(graph_)
|
|
346
|
+
self.generator = model.Generator()
|
|
347
|
+
if not model.Var2IsNone():
|
|
348
|
+
self.var2 = []
|
|
349
|
+
for i in range(model.Var2Length()):
|
|
350
|
+
if model.Var2(i) is None:
|
|
351
|
+
self.var2.append(None)
|
|
352
|
+
else:
|
|
353
|
+
type1_ = rknn.Type1.Type1T.InitFromObj(model.Var2(i))
|
|
354
|
+
self.var2.append(type1_)
|
|
355
|
+
self.var3 = model.Var3()
|
|
356
|
+
self.var4 = model.Var4()
|
|
357
|
+
self.compiler = model.Compiler()
|
|
358
|
+
self.runtime = model.Runtime()
|
|
359
|
+
self.source = model.Source()
|
|
360
|
+
self.var5 = model.Var5()
|
|
361
|
+
self.var6 = model.Var6()
|
|
362
|
+
self.inputJson = model.InputJson()
|
|
363
|
+
self.outputJson = model.OutputJson()
|
|
364
|
+
|
|
365
|
+
# ModelT
|
|
366
|
+
def Pack(self, builder):
|
|
367
|
+
if self.format is not None:
|
|
368
|
+
format = builder.CreateString(self.format)
|
|
369
|
+
if self.graphs is not None:
|
|
370
|
+
graphslist = []
|
|
371
|
+
for i in range(len(self.graphs)):
|
|
372
|
+
graphslist.append(self.graphs[i].Pack(builder))
|
|
373
|
+
ModelStartGraphsVector(builder, len(self.graphs))
|
|
374
|
+
for i in reversed(range(len(self.graphs))):
|
|
375
|
+
builder.PrependUOffsetTRelative(graphslist[i])
|
|
376
|
+
graphs = builder.EndVector()
|
|
377
|
+
if self.generator is not None:
|
|
378
|
+
generator = builder.CreateString(self.generator)
|
|
379
|
+
if self.var2 is not None:
|
|
380
|
+
var2list = []
|
|
381
|
+
for i in range(len(self.var2)):
|
|
382
|
+
var2list.append(self.var2[i].Pack(builder))
|
|
383
|
+
ModelStartVar2Vector(builder, len(self.var2))
|
|
384
|
+
for i in reversed(range(len(self.var2))):
|
|
385
|
+
builder.PrependUOffsetTRelative(var2list[i])
|
|
386
|
+
var2 = builder.EndVector()
|
|
387
|
+
if self.compiler is not None:
|
|
388
|
+
compiler = builder.CreateString(self.compiler)
|
|
389
|
+
if self.runtime is not None:
|
|
390
|
+
runtime = builder.CreateString(self.runtime)
|
|
391
|
+
if self.source is not None:
|
|
392
|
+
source = builder.CreateString(self.source)
|
|
393
|
+
if self.inputJson is not None:
|
|
394
|
+
inputJson = builder.CreateString(self.inputJson)
|
|
395
|
+
if self.outputJson is not None:
|
|
396
|
+
outputJson = builder.CreateString(self.outputJson)
|
|
397
|
+
ModelStart(builder)
|
|
398
|
+
ModelAddVar1(builder, self.var1)
|
|
399
|
+
if self.format is not None:
|
|
400
|
+
ModelAddFormat(builder, format)
|
|
401
|
+
if self.graphs is not None:
|
|
402
|
+
ModelAddGraphs(builder, graphs)
|
|
403
|
+
if self.generator is not None:
|
|
404
|
+
ModelAddGenerator(builder, generator)
|
|
405
|
+
if self.var2 is not None:
|
|
406
|
+
ModelAddVar2(builder, var2)
|
|
407
|
+
ModelAddVar3(builder, self.var3)
|
|
408
|
+
ModelAddVar4(builder, self.var4)
|
|
409
|
+
if self.compiler is not None:
|
|
410
|
+
ModelAddCompiler(builder, compiler)
|
|
411
|
+
if self.runtime is not None:
|
|
412
|
+
ModelAddRuntime(builder, runtime)
|
|
413
|
+
if self.source is not None:
|
|
414
|
+
ModelAddSource(builder, source)
|
|
415
|
+
ModelAddVar5(builder, self.var5)
|
|
416
|
+
ModelAddVar6(builder, self.var6)
|
|
417
|
+
if self.inputJson is not None:
|
|
418
|
+
ModelAddInputJson(builder, inputJson)
|
|
419
|
+
if self.outputJson is not None:
|
|
420
|
+
ModelAddOutputJson(builder, outputJson)
|
|
421
|
+
model = ModelEnd(builder)
|
|
422
|
+
return model
|