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,94 @@
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 Type1(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 = Type1()
16
+ x.Init(buf, n + offset)
17
+ return x
18
+
19
+ @classmethod
20
+ def GetRootAsType1(cls, buf, offset=0):
21
+ """This method is deprecated. Please switch to GetRootAs."""
22
+ return cls.GetRootAs(buf, offset)
23
+ @classmethod
24
+ def Type1BufferHasIdentifier(cls, buf, offset, size_prefixed=False):
25
+ return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x52\x4B\x4E\x4E", size_prefixed=size_prefixed)
26
+
27
+ # Type1
28
+ def Init(self, buf, pos):
29
+ self._tab = flatbuffers.table.Table(buf, pos)
30
+
31
+ # Type1
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
+ def Type1Start(builder):
39
+ builder.StartObject(1)
40
+
41
+ def Start(builder):
42
+ Type1Start(builder)
43
+
44
+ def Type1AddVar1(builder, var1):
45
+ builder.PrependInt32Slot(0, var1, 0)
46
+
47
+ def AddVar1(builder, var1):
48
+ Type1AddVar1(builder, var1)
49
+
50
+ def Type1End(builder):
51
+ return builder.EndObject()
52
+
53
+ def End(builder):
54
+ return Type1End(builder)
55
+
56
+
57
+ class Type1T(object):
58
+
59
+ # Type1T
60
+ def __init__(
61
+ self,
62
+ var1 = 0,
63
+ ):
64
+ self.var1 = var1 # type: int
65
+
66
+ @classmethod
67
+ def InitFromBuf(cls, buf, pos):
68
+ type1 = Type1()
69
+ type1.Init(buf, pos)
70
+ return cls.InitFromObj(type1)
71
+
72
+ @classmethod
73
+ def InitFromPackedBuf(cls, buf, pos=0):
74
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
75
+ return cls.InitFromBuf(buf, pos+n)
76
+
77
+ @classmethod
78
+ def InitFromObj(cls, type1):
79
+ x = Type1T()
80
+ x._UnPack(type1)
81
+ return x
82
+
83
+ # Type1T
84
+ def _UnPack(self, type1):
85
+ if type1 is None:
86
+ return
87
+ self.var1 = type1.Var1()
88
+
89
+ # Type1T
90
+ def Pack(self, builder):
91
+ Type1Start(builder)
92
+ Type1AddVar1(builder, self.var1)
93
+ type1 = Type1End(builder)
94
+ return type1
@@ -0,0 +1,255 @@
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 Type2(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 = Type2()
16
+ x.Init(buf, n + offset)
17
+ return x
18
+
19
+ @classmethod
20
+ def GetRootAsType2(cls, buf, offset=0):
21
+ """This method is deprecated. Please switch to GetRootAs."""
22
+ return cls.GetRootAs(buf, offset)
23
+ @classmethod
24
+ def Type2BufferHasIdentifier(cls, buf, offset, size_prefixed=False):
25
+ return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x52\x4B\x4E\x4E", size_prefixed=size_prefixed)
26
+
27
+ # Type2
28
+ def Init(self, buf, pos):
29
+ self._tab = flatbuffers.table.Table(buf, pos)
30
+
31
+ # Type2
32
+ def Var1(self, j):
33
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
34
+ if o != 0:
35
+ a = self._tab.Vector(o)
36
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4))
37
+ return 0
38
+
39
+ # Type2
40
+ def Var1AsNumpy(self):
41
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
42
+ if o != 0:
43
+ return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Int32Flags, o)
44
+ return 0
45
+
46
+ # Type2
47
+ def Var1Length(self):
48
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
49
+ if o != 0:
50
+ return self._tab.VectorLen(o)
51
+ return 0
52
+
53
+ # Type2
54
+ def Var1IsNone(self):
55
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
56
+ return o == 0
57
+
58
+ # Type2
59
+ def Var2(self, j):
60
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
61
+ if o != 0:
62
+ a = self._tab.Vector(o)
63
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4))
64
+ return 0
65
+
66
+ # Type2
67
+ def Var2AsNumpy(self):
68
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
69
+ if o != 0:
70
+ return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Int32Flags, o)
71
+ return 0
72
+
73
+ # Type2
74
+ def Var2Length(self):
75
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
76
+ if o != 0:
77
+ return self._tab.VectorLen(o)
78
+ return 0
79
+
80
+ # Type2
81
+ def Var2IsNone(self):
82
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
83
+ return o == 0
84
+
85
+ # Type2
86
+ def Var3(self, j):
87
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
88
+ if o != 0:
89
+ a = self._tab.Vector(o)
90
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4))
91
+ return 0
92
+
93
+ # Type2
94
+ def Var3AsNumpy(self):
95
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
96
+ if o != 0:
97
+ return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Int32Flags, o)
98
+ return 0
99
+
100
+ # Type2
101
+ def Var3Length(self):
102
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
103
+ if o != 0:
104
+ return self._tab.VectorLen(o)
105
+ return 0
106
+
107
+ # Type2
108
+ def Var3IsNone(self):
109
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
110
+ return o == 0
111
+
112
+ def Type2Start(builder):
113
+ builder.StartObject(3)
114
+
115
+ def Start(builder):
116
+ Type2Start(builder)
117
+
118
+ def Type2AddVar1(builder, var1):
119
+ builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(var1), 0)
120
+
121
+ def AddVar1(builder, var1):
122
+ Type2AddVar1(builder, var1)
123
+
124
+ def Type2StartVar1Vector(builder, numElems):
125
+ return builder.StartVector(4, numElems, 4)
126
+
127
+ def StartVar1Vector(builder, numElems):
128
+ return Type2StartVar1Vector(builder, numElems)
129
+
130
+ def Type2AddVar2(builder, var2):
131
+ builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(var2), 0)
132
+
133
+ def AddVar2(builder, var2):
134
+ Type2AddVar2(builder, var2)
135
+
136
+ def Type2StartVar2Vector(builder, numElems):
137
+ return builder.StartVector(4, numElems, 4)
138
+
139
+ def StartVar2Vector(builder, numElems):
140
+ return Type2StartVar2Vector(builder, numElems)
141
+
142
+ def Type2AddVar3(builder, var3):
143
+ builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(var3), 0)
144
+
145
+ def AddVar3(builder, var3):
146
+ Type2AddVar3(builder, var3)
147
+
148
+ def Type2StartVar3Vector(builder, numElems):
149
+ return builder.StartVector(4, numElems, 4)
150
+
151
+ def StartVar3Vector(builder, numElems):
152
+ return Type2StartVar3Vector(builder, numElems)
153
+
154
+ def Type2End(builder):
155
+ return builder.EndObject()
156
+
157
+ def End(builder):
158
+ return Type2End(builder)
159
+
160
+ try:
161
+ from typing import List
162
+ except:
163
+ pass
164
+
165
+ class Type2T(object):
166
+
167
+ # Type2T
168
+ def __init__(
169
+ self,
170
+ var1 = None,
171
+ var2 = None,
172
+ var3 = None,
173
+ ):
174
+ self.var1 = var1 # type: Optional[List[int]]
175
+ self.var2 = var2 # type: Optional[List[int]]
176
+ self.var3 = var3 # type: Optional[List[int]]
177
+
178
+ @classmethod
179
+ def InitFromBuf(cls, buf, pos):
180
+ type2 = Type2()
181
+ type2.Init(buf, pos)
182
+ return cls.InitFromObj(type2)
183
+
184
+ @classmethod
185
+ def InitFromPackedBuf(cls, buf, pos=0):
186
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
187
+ return cls.InitFromBuf(buf, pos+n)
188
+
189
+ @classmethod
190
+ def InitFromObj(cls, type2):
191
+ x = Type2T()
192
+ x._UnPack(type2)
193
+ return x
194
+
195
+ # Type2T
196
+ def _UnPack(self, type2):
197
+ if type2 is None:
198
+ return
199
+ if not type2.Var1IsNone():
200
+ if np is None:
201
+ self.var1 = []
202
+ for i in range(type2.Var1Length()):
203
+ self.var1.append(type2.Var1(i))
204
+ else:
205
+ self.var1 = type2.Var1AsNumpy()
206
+ if not type2.Var2IsNone():
207
+ if np is None:
208
+ self.var2 = []
209
+ for i in range(type2.Var2Length()):
210
+ self.var2.append(type2.Var2(i))
211
+ else:
212
+ self.var2 = type2.Var2AsNumpy()
213
+ if not type2.Var3IsNone():
214
+ if np is None:
215
+ self.var3 = []
216
+ for i in range(type2.Var3Length()):
217
+ self.var3.append(type2.Var3(i))
218
+ else:
219
+ self.var3 = type2.Var3AsNumpy()
220
+
221
+ # Type2T
222
+ def Pack(self, builder):
223
+ if self.var1 is not None:
224
+ if np is not None and type(self.var1) is np.ndarray:
225
+ var1 = builder.CreateNumpyVector(self.var1)
226
+ else:
227
+ Type2StartVar1Vector(builder, len(self.var1))
228
+ for i in reversed(range(len(self.var1))):
229
+ builder.PrependInt32(self.var1[i])
230
+ var1 = builder.EndVector()
231
+ if self.var2 is not None:
232
+ if np is not None and type(self.var2) is np.ndarray:
233
+ var2 = builder.CreateNumpyVector(self.var2)
234
+ else:
235
+ Type2StartVar2Vector(builder, len(self.var2))
236
+ for i in reversed(range(len(self.var2))):
237
+ builder.PrependInt32(self.var2[i])
238
+ var2 = builder.EndVector()
239
+ if self.var3 is not None:
240
+ if np is not None and type(self.var3) is np.ndarray:
241
+ var3 = builder.CreateNumpyVector(self.var3)
242
+ else:
243
+ Type2StartVar3Vector(builder, len(self.var3))
244
+ for i in reversed(range(len(self.var3))):
245
+ builder.PrependInt32(self.var3[i])
246
+ var3 = builder.EndVector()
247
+ Type2Start(builder)
248
+ if self.var1 is not None:
249
+ Type2AddVar1(builder, var1)
250
+ if self.var2 is not None:
251
+ Type2AddVar2(builder, var2)
252
+ if self.var3 is not None:
253
+ Type2AddVar3(builder, var3)
254
+ type2 = Type2End(builder)
255
+ return type2
@@ -0,0 +1,94 @@
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 Type3(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 = Type3()
16
+ x.Init(buf, n + offset)
17
+ return x
18
+
19
+ @classmethod
20
+ def GetRootAsType3(cls, buf, offset=0):
21
+ """This method is deprecated. Please switch to GetRootAs."""
22
+ return cls.GetRootAs(buf, offset)
23
+ @classmethod
24
+ def Type3BufferHasIdentifier(cls, buf, offset, size_prefixed=False):
25
+ return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x52\x4B\x4E\x4E", size_prefixed=size_prefixed)
26
+
27
+ # Type3
28
+ def Init(self, buf, pos):
29
+ self._tab = flatbuffers.table.Table(buf, pos)
30
+
31
+ # Type3
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
+ def Type3Start(builder):
39
+ builder.StartObject(1)
40
+
41
+ def Start(builder):
42
+ Type3Start(builder)
43
+
44
+ def Type3AddVar1(builder, var1):
45
+ builder.PrependInt32Slot(0, var1, 0)
46
+
47
+ def AddVar1(builder, var1):
48
+ Type3AddVar1(builder, var1)
49
+
50
+ def Type3End(builder):
51
+ return builder.EndObject()
52
+
53
+ def End(builder):
54
+ return Type3End(builder)
55
+
56
+
57
+ class Type3T(object):
58
+
59
+ # Type3T
60
+ def __init__(
61
+ self,
62
+ var1 = 0,
63
+ ):
64
+ self.var1 = var1 # type: int
65
+
66
+ @classmethod
67
+ def InitFromBuf(cls, buf, pos):
68
+ type3 = Type3()
69
+ type3.Init(buf, pos)
70
+ return cls.InitFromObj(type3)
71
+
72
+ @classmethod
73
+ def InitFromPackedBuf(cls, buf, pos=0):
74
+ n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, pos)
75
+ return cls.InitFromBuf(buf, pos+n)
76
+
77
+ @classmethod
78
+ def InitFromObj(cls, type3):
79
+ x = Type3T()
80
+ x._UnPack(type3)
81
+ return x
82
+
83
+ # Type3T
84
+ def _UnPack(self, type3):
85
+ if type3 is None:
86
+ return
87
+ self.var1 = type3.Var1()
88
+
89
+ # Type3T
90
+ def Pack(self, builder):
91
+ Type3Start(builder)
92
+ Type3AddVar1(builder, self.var1)
93
+ type3 = Type3End(builder)
94
+ return type3
File without changes
@@ -0,0 +1,69 @@
1
+ Metadata-Version: 2.4
2
+ Name: rknncli
3
+ Version: 0.2.0
4
+ Summary: A command line tool for parsing and displaying RKNN model information
5
+ Author: rknncli
6
+ License: MIT
7
+ Classifier: Development Status :: 3 - Alpha
8
+ Classifier: Intended Audience :: Developers
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.8
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Requires-Python: >=3.8
17
+ Description-Content-Type: text/markdown
18
+
19
+ # RKNN CLI
20
+
21
+ A command line tool for parsing and displaying RKNN model information.
22
+
23
+ ## Installation
24
+
25
+ ```bash
26
+ pip install -e .
27
+ ```
28
+
29
+ ## Usage
30
+
31
+ ```bash
32
+ rknncli <path-to-rknn-model>
33
+ ```
34
+
35
+ Example:
36
+
37
+ ```bash
38
+ rknncli assets/yolov5s-640-640.rknn
39
+ ```
40
+
41
+ ## Output Format
42
+
43
+ The tool prints model information in the following format:
44
+
45
+ ```
46
+ Model: rknn model
47
+ Version: 1.6.2-source_code
48
+ Target Platform: rk3588
49
+
50
+ Input information
51
+ --------------------------------------------------------------------------------
52
+ ValueInfo "images": type INT8, shape ['batch', 3, 'height', 'width'],
53
+
54
+ Output information
55
+ --------------------------------------------------------------------------------
56
+ ValueInfo "output0": type INT8, shape ['batch', 255, 80, 80],
57
+ ValueInfo "286": type INT8, shape ['batch', 255, 40, 40],
58
+ ValueInfo "288": type INT8, shape ['batch', 255, 20, 20'],
59
+ ```
60
+
61
+ ## Development
62
+
63
+ ```bash
64
+ # Install in development mode
65
+ pip install -e .
66
+
67
+ # Run the CLI
68
+ python -m rknncli.cli assets/yolov5s-640-640.rknn
69
+ ```
@@ -0,0 +1,16 @@
1
+ rknncli/__init__.py,sha256=_xwmD7Q3XeNRSKVea1V9Yf5ZrFUdE9TRk09NOw87zTQ,111
2
+ rknncli/cli.py,sha256=xsvGye9fsaRO3vDoN6FBYLdityibR5_SsRhNGFuJgX8,6831
3
+ rknncli/parser.py,sha256=45CrVa18i2AOZ_UseyQQp6xySQ70GMYpmDh3P3Us_iU,11987
4
+ rknncli/schema/rknn/Graph.py,sha256=RgRgauVQ8agqx0VCfNBl-VAZPq4qBRgcbzYKYOc-Qgs,12591
5
+ rknncli/schema/rknn/Model.py,sha256=3RubV822E-Q9DNfOvZUwi9LSheV88XlzlJNdQfj7NWE,13797
6
+ rknncli/schema/rknn/Node.py,sha256=jF8ZKXdQRZqATBhqffJLoY7ETMN0KF5bpaTii8J66WI,12052
7
+ rknncli/schema/rknn/Tensor.py,sha256=QTmyIITukptbA9rGcHBCaBingEotevh7ev7ZD4IC9Mo,23476
8
+ rknncli/schema/rknn/Type1.py,sha256=9lRda2jNpvgm8yVWraNCEhv_qCFkmgqCsxMNSOa9zXc,2330
9
+ rknncli/schema/rknn/Type2.py,sha256=Hz2waIXoPJ3npsSE3yoNN6y0nss2_uu7JCoccPg83hw,8128
10
+ rknncli/schema/rknn/Type3.py,sha256=9uV1-WF2jhMJLFzo2k7MQdhDnif2lsd2J1C5enskyPc,2330
11
+ rknncli/schema/rknn/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
+ rknncli-0.2.0.dist-info/METADATA,sha256=mC_vsPRsRi6y1w-c1wF9_yElVnUB2s-HUL_QSRxXE-4,1659
13
+ rknncli-0.2.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
14
+ rknncli-0.2.0.dist-info/entry_points.txt,sha256=CiPnMUneLqwv2pcjg4V5sQbQDTdx-hi7t5W5glqYZVM,45
15
+ rknncli-0.2.0.dist-info/top_level.txt,sha256=HPlOMKakzngvN2n2l6Bsg8N1Xflsm7fyCbPO6Fx_7iA,8
16
+ rknncli-0.2.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.2)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ rknncli = rknncli.cli:main
@@ -0,0 +1 @@
1
+ rknncli