aboutsummaryrefslogtreecommitdiff
path: root/python/tosa
diff options
context:
space:
mode:
authorJames Ward <james.ward@arm.com>2022-12-07 15:38:01 +0000
committerEric Kunze <eric.kunze@arm.com>2023-01-18 01:04:54 +0000
commitc15f7d52aa4f360eba2344449baa418b7608ac7c (patch)
treeb0322cb02004e9e0a325c847c0bd332051b8389b /python/tosa
parent5e268097917825ddaa00a86ee95a4a6c4f50124b (diff)
downloadserialization_lib-c15f7d52aa4f360eba2344449baa418b7608ac7c.tar.gz
Schema changes for CLAMP, PAD float attributes
* Float attributes now serialized as uint8 vectors, but treated as floats at input/output to serialization Signed-off-by: James Ward <james.ward@arm.com> Change-Id: I417b0fabe0ef11fea263fe937b57d49bbfdb00da
Diffstat (limited to 'python/tosa')
-rw-r--r--python/tosa/ClampAttribute.py62
-rw-r--r--python/tosa/PadAttribute.py31
2 files changed, 81 insertions, 12 deletions
diff --git a/python/tosa/ClampAttribute.py b/python/tosa/ClampAttribute.py
index 58d1f0a..7937944 100644
--- a/python/tosa/ClampAttribute.py
+++ b/python/tosa/ClampAttribute.py
@@ -43,18 +43,58 @@ class ClampAttribute(object):
return 0
# ClampAttribute
- def MinFp(self):
+ def MinFp(self, j):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
if o != 0:
- return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
- return 0.0
+ a = self._tab.Vector(o)
+ return self._tab.Get(flatbuffers.number_types.Uint8Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 1))
+ return 0
+
+ # ClampAttribute
+ def MinFpAsNumpy(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
+ if o != 0:
+ return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Uint8Flags, o)
+ return 0
+
+ # ClampAttribute
+ def MinFpLength(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
+ if o != 0:
+ return self._tab.VectorLen(o)
+ return 0
+
+ # ClampAttribute
+ def MinFpIsNone(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
+ return o == 0
# ClampAttribute
- def MaxFp(self):
+ def MaxFp(self, j):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
if o != 0:
- return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
- return 0.0
+ a = self._tab.Vector(o)
+ return self._tab.Get(flatbuffers.number_types.Uint8Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 1))
+ return 0
+
+ # ClampAttribute
+ def MaxFpAsNumpy(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
+ if o != 0:
+ return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Uint8Flags, o)
+ return 0
+
+ # ClampAttribute
+ def MaxFpLength(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
+ if o != 0:
+ return self._tab.VectorLen(o)
+ return 0
+
+ # ClampAttribute
+ def MaxFpIsNone(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
+ return o == 0
def ClampAttributeStart(builder): builder.StartObject(4)
def Start(builder):
@@ -65,12 +105,18 @@ def AddMinInt(builder, minInt):
def ClampAttributeAddMaxInt(builder, maxInt): builder.PrependInt32Slot(1, maxInt, 0)
def AddMaxInt(builder, maxInt):
return ClampAttributeAddMaxInt(builder, maxInt)
-def ClampAttributeAddMinFp(builder, minFp): builder.PrependFloat32Slot(2, minFp, 0.0)
+def ClampAttributeAddMinFp(builder, minFp): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(minFp), 0)
def AddMinFp(builder, minFp):
return ClampAttributeAddMinFp(builder, minFp)
-def ClampAttributeAddMaxFp(builder, maxFp): builder.PrependFloat32Slot(3, maxFp, 0.0)
+def ClampAttributeStartMinFpVector(builder, numElems): return builder.StartVector(1, numElems, 1)
+def StartMinFpVector(builder, numElems):
+ return ClampAttributeStartMinFpVector(builder, numElems)
+def ClampAttributeAddMaxFp(builder, maxFp): builder.PrependUOffsetTRelativeSlot(3, flatbuffers.number_types.UOffsetTFlags.py_type(maxFp), 0)
def AddMaxFp(builder, maxFp):
return ClampAttributeAddMaxFp(builder, maxFp)
+def ClampAttributeStartMaxFpVector(builder, numElems): return builder.StartVector(1, numElems, 1)
+def StartMaxFpVector(builder, numElems):
+ return ClampAttributeStartMaxFpVector(builder, numElems)
def ClampAttributeEnd(builder): return builder.EndObject()
def End(builder):
return ClampAttributeEnd(builder) \ No newline at end of file
diff --git a/python/tosa/PadAttribute.py b/python/tosa/PadAttribute.py
index 8d49d5a..23698d1 100644
--- a/python/tosa/PadAttribute.py
+++ b/python/tosa/PadAttribute.py
@@ -63,11 +63,31 @@ class PadAttribute(object):
return 0
# PadAttribute
- def PadConstFp(self):
+ def PadConstFp(self, j):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
if o != 0:
- return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
- return 0.0
+ a = self._tab.Vector(o)
+ return self._tab.Get(flatbuffers.number_types.Uint8Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 1))
+ return 0
+
+ # PadAttribute
+ def PadConstFpAsNumpy(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
+ if o != 0:
+ return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Uint8Flags, o)
+ return 0
+
+ # PadAttribute
+ def PadConstFpLength(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
+ if o != 0:
+ return self._tab.VectorLen(o)
+ return 0
+
+ # PadAttribute
+ def PadConstFpIsNone(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
+ return o == 0
def PadAttributeStart(builder): builder.StartObject(3)
def Start(builder):
@@ -81,9 +101,12 @@ def StartPaddingVector(builder, numElems):
def PadAttributeAddPadConstInt(builder, padConstInt): builder.PrependInt32Slot(1, padConstInt, 0)
def AddPadConstInt(builder, padConstInt):
return PadAttributeAddPadConstInt(builder, padConstInt)
-def PadAttributeAddPadConstFp(builder, padConstFp): builder.PrependFloat32Slot(2, padConstFp, 0.0)
+def PadAttributeAddPadConstFp(builder, padConstFp): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(padConstFp), 0)
def AddPadConstFp(builder, padConstFp):
return PadAttributeAddPadConstFp(builder, padConstFp)
+def PadAttributeStartPadConstFpVector(builder, numElems): return builder.StartVector(1, numElems, 1)
+def StartPadConstFpVector(builder, numElems):
+ return PadAttributeStartPadConstFpVector(builder, numElems)
def PadAttributeEnd(builder): return builder.EndObject()
def End(builder):
return PadAttributeEnd(builder) \ No newline at end of file