aboutsummaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/serializer/tosa_serializer.py192
-rw-r--r--python/tosa/Attribute.py3
-rw-r--r--python/tosa/ConvAttribute.py18
-rw-r--r--python/tosa/FullyConnectedAttribute.py (renamed from python/tosa/ConvQuantInfo.py)22
-rw-r--r--python/tosa/MatMulAttribute.py (renamed from python/tosa/MatMulQuantInfo.py)22
-rw-r--r--python/tosa/NegateAttribute.py (renamed from python/tosa/UnaryQuantInfo.py)24
-rw-r--r--python/tosa/PadQuantInfo.py36
-rw-r--r--python/tosa/PoolAttribute.py18
-rw-r--r--python/tosa/QuantInfo.py11
-rw-r--r--python/tosa/TosaOperator.py21
-rw-r--r--python/tosa/TransposeConvAttribute.py18
-rw-r--r--python/tosa/Version.py4
12 files changed, 206 insertions, 183 deletions
diff --git a/python/serializer/tosa_serializer.py b/python/serializer/tosa_serializer.py
index 4d7d7bf..10372e4 100644
--- a/python/serializer/tosa_serializer.py
+++ b/python/serializer/tosa_serializer.py
@@ -30,7 +30,7 @@ import tosa.Op as TosaOp
# Keep version number in sync with the version default value with schema/tosa.fbs
TOSA_VERSION_MAJOR = 0
-TOSA_VERSION_MINOR = 25
+TOSA_VERSION_MINOR = 30
TOSA_VERSION_PATCH = 0
TOSA_VERSION_DRAFT = True
TOSA_VERSION = [
@@ -141,7 +141,7 @@ class TosaSerializerAttribute(TosaSerializerUnion):
def __init__(self):
super().__init__()
- def PoolAttribute(self, kernel, stride, pad):
+ def PoolAttribute(self, kernel, stride, pad, input_zp, output_zp):
from tosa import PoolAttribute as a, Attribute
self.utype = Attribute.Attribute().PoolAttribute
@@ -150,8 +150,10 @@ class TosaSerializerAttribute(TosaSerializerUnion):
self.intvecs.append((a.AddPad, pad))
self.intvecs.append((a.AddKernel, kernel))
self.intvecs.append((a.AddStride, stride))
+ self.ints.append((a.AddInputZp, input_zp))
+ self.ints.append((a.AddOutputZp, output_zp))
- def ConvAttribute(self, pad, stride, dilation):
+ def ConvAttribute(self, pad, stride, dilation, input_zp, weight_zp):
from tosa import ConvAttribute as a, Attribute
self.utype = Attribute.Attribute().ConvAttribute
@@ -160,8 +162,10 @@ class TosaSerializerAttribute(TosaSerializerUnion):
self.intvecs.append((a.AddPad, pad))
self.intvecs.append((a.AddStride, stride))
self.intvecs.append((a.AddDilation, dilation))
+ self.ints.append((a.AddInputZp, input_zp))
+ self.ints.append((a.AddWeightZp, weight_zp))
- def TransposeConvAttribute(self, outpad, stride, output_shape):
+ def TransposeConvAttribute(self, outpad, stride, output_shape, input_zp, weight_zp):
from tosa import TransposeConvAttribute as a, Attribute
self.utype = Attribute.Attribute().TransposeConvAttribute
@@ -170,6 +174,8 @@ class TosaSerializerAttribute(TosaSerializerUnion):
self.intvecs.append((a.AddOutPad, outpad))
self.intvecs.append((a.AddStride, stride))
self.intvecs.append((a.AddOutputShape, output_shape))
+ self.ints.append((a.AddInputZp, input_zp))
+ self.ints.append((a.AddWeightZp, weight_zp))
def PadAttribute(self, padding, pad_const_int, pad_const_fp):
from tosa import PadAttribute as a, Attribute
@@ -311,43 +317,32 @@ class TosaSerializerAttribute(TosaSerializerUnion):
self.intvecs.append((a.AddTable, table))
+ def MatMulAttribute(self, A_zp, B_zp):
+ from tosa import MatMulAttribute as a, Attribute
-class TosaSerializerQuantInfo(TosaSerializerUnion):
- """This class handles encapsulating all of the enumerated types for quantinfo"""
-
- def __init__(self):
- super().__init__()
-
- def ConvQuantInfo(self, input_zp, weight_zp):
- from tosa import ConvQuantInfo as q, QuantInfo
+ self.utype = Attribute.Attribute().MatMulAttribute
+ self.optFcns = (a.Start, a.End)
- self.utype = QuantInfo.QuantInfo().ConvQuantInfo
- self.optFcns = (q.Start, q.End)
- self.ints.append((q.AddInputZp, input_zp))
- self.ints.append((q.AddWeightZp, weight_zp))
+ self.ints.append((a.AddAZp, A_zp))
+ self.ints.append((a.AddBZp, B_zp))
- def UnaryQuantInfo(self, input_zp, output_zp):
- from tosa import UnaryQuantInfo as q, QuantInfo
+ def FullyConnectedAttribute(self, input_zp, weight_zp):
+ from tosa import FullyConnectedAttribute as a, Attribute
- self.utype = QuantInfo.QuantInfo().UnaryQuantInfo
- self.optFcns = (q.Start, q.End)
- self.ints.append((q.AddInputZp, input_zp))
- self.ints.append((q.AddOutputZp, output_zp))
+ self.utype = Attribute.Attribute().FullyConnectedAttribute
+ self.optFcns = (a.Start, a.End)
- def MatMulQuantInfo(self, a_zp, b_zp):
- from tosa import MatMulQuantInfo as q, QuantInfo
+ self.ints.append((a.AddInputZp, input_zp))
+ self.ints.append((a.AddWeightZp, weight_zp))
- self.utype = QuantInfo.QuantInfo().MatMulQuantInfo
- self.optFcns = (q.Start, q.End)
- self.ints.append((q.AddAZp, a_zp))
- self.ints.append((q.AddBZp, b_zp))
+ def NegateAttribute(self, input1_zp, output_zp):
+ from tosa import NegateAttribute as a, Attribute
- def PadQuantInfo(self, input_zp):
- from tosa import PadQuantInfo as q, QuantInfo
+ self.utype = Attribute.Attribute().NegateAttribute
+ self.optFcns = (a.Start, a.End)
- self.utype = QuantInfo.QuantInfo().PadQuantInfo
- self.optFcns = (q.Start, q.End)
- self.ints.append((q.AddInputZp, input_zp))
+ self.ints.append((a.AddInput1Zp, input1_zp))
+ self.ints.append((a.AddOutputZp, output_zp))
class TosaSerializerTensor:
@@ -467,12 +462,11 @@ class TosaSerializerTensor:
class TosaSerializerOperator:
- def __init__(self, op, inputs, outputs, attributes=None, quantInfo=None):
+ def __init__(self, op, inputs, outputs, attributes=None):
self.op = op
self.attributes = attributes
self.inputs = TosaSerializer.toList(inputs)
self.outputs = TosaSerializer.toList(outputs)
- self.quantInfo = quantInfo
def __str__(self):
str = "Op {}\n----\n".format(self.op)
@@ -491,13 +485,10 @@ class TosaSerializerOperator:
fb_outputs = TosaSerializer.serializeStrVec(
builder, self.outputs, TosaOperator.StartOutputsVector
)
- # Need to serialize quant_info and attributes enums still
+ # Need to serialize attributes enums still
if self.attributes is not None:
fb_attributes = self.attributes.serialize(builder)
- if self.quantInfo is not None:
- fb_qinfo = self.quantInfo.serialize(builder)
-
TosaOperator.Start(builder)
TosaOperator.AddOp(builder, self.op)
TosaOperator.AddInputs(builder, fb_inputs)
@@ -505,9 +496,6 @@ class TosaSerializerOperator:
if self.attributes is not None:
TosaOperator.AddAttributeType(builder, self.attributes.utype)
TosaOperator.AddAttribute(builder, fb_attributes)
- if self.quantInfo is not None:
- TosaOperator.AddQuantInfoType(builder, self.quantInfo.utype)
- TosaOperator.AddQuantInfo(builder, fb_qinfo)
return TosaOperator.End(builder)
@@ -544,10 +532,8 @@ class TosaSerializerBasicBlock:
def addOutput(self, name):
self.outputs.append(name)
- def addOperator(self, op, inputs, outputs, attributes=None, quant_info=None):
- self.operators.append(
- TosaSerializerOperator(op, inputs, outputs, attributes, quant_info)
- )
+ def addOperator(self, op, inputs, outputs, attributes=None):
+ self.operators.append(TosaSerializerOperator(op, inputs, outputs, attributes))
def serialize(self, builder):
fb_name = builder.CreateString(self.name)
@@ -671,13 +657,16 @@ class TosaSerializer:
self.currBasicBlock.addOutput(name)
return tens
- def addOperator(self, op, inputs, outputs, attributes=None, quant_info=None):
+ def addOperator(self, op, inputs, outputs, attributes=None):
if op == TosaOp.Op().CONST:
raise Exception("Use addConstTensor() to add CONST ops")
return self.currBasicBlock.addOperator(
- op, inputs, outputs, attributes, quant_info
+ op,
+ inputs,
+ outputs,
+ attributes,
)
def setExpectedReturnCode(self, val, fail, desc=""):
@@ -861,21 +850,48 @@ class TosaSerializer:
ConvAttribute.StartDilationVector = (
ConvAttribute.ConvAttributeStartDilationVector
)
+ ConvAttribute.AddInputZp = ConvAttribute.ConvAttributeAddInputZp
+ ConvAttribute.AddWeightZp = ConvAttribute.ConvAttributeAddWeightZp
ConvAttribute.End = ConvAttribute.ConvAttributeEnd
- from tosa import ConvQuantInfo
-
- if not hasattr(ConvQuantInfo, "Start"):
- ConvQuantInfo.Start = ConvQuantInfo.ConvQuantInfoStart
- ConvQuantInfo.AddInputZp = ConvQuantInfo.ConvQuantInfoAddInputZp
- ConvQuantInfo.AddWeightZp = ConvQuantInfo.ConvQuantInfoAddWeightZp
- ConvQuantInfo.End = ConvQuantInfo.ConvQuantInfoEnd
- from tosa import MatMulQuantInfo
-
- if not hasattr(MatMulQuantInfo, "Start"):
- MatMulQuantInfo.Start = MatMulQuantInfo.MatMulQuantInfoStart
- MatMulQuantInfo.AddAZp = MatMulQuantInfo.MatMulQuantInfoAddAZp
- MatMulQuantInfo.AddBZp = MatMulQuantInfo.MatMulQuantInfoAddBZp
- MatMulQuantInfo.End = MatMulQuantInfo.MatMulQuantInfoEnd
+ from tosa import FullyConnectedAttribute
+
+ if not hasattr(FullyConnectedAttribute, "Start"):
+ FullyConnectedAttribute.Start = (
+ FullyConnectedAttribute.FullyConnectedAttributeStart
+ )
+ FullyConnectedAttribute.AddInputZp = (
+ FullyConnectedAttribute.FullyConnectedAttributeAddInputZp
+ )
+ FullyConnectedAttribute.AddWeightZp = (
+ FullyConnectedAttribute.FullyConnectedAttributeAddWeightZp
+ )
+ FullyConnectedAttribute.End = (
+ FullyConnectedAttribute.FullyConnectedAttributeEnd
+ )
+ from tosa import MatMulAttribute
+
+ if not hasattr(MatMulAttribute, "Start"):
+ MatMulAttribute.Start = MatMulAttribute.MatMulAttributeStart
+ MatMulAttribute.AddAZp = MatMulAttribute.MatMulAttributeAddAZp
+ MatMulAttribute.AddBZp = MatMulAttribute.MatMulAttributeAddBZp
+ MatMulAttribute.End = MatMulAttribute.MatMulAttributeEnd
+ from tosa import PoolAttribute
+
+ if not hasattr(PoolAttribute, "Start"):
+ PoolAttribute.Start = PoolAttribute.PoolAttributeStart
+ PoolAttribute.AddPad = PoolAttribute.PoolAttributeAddPad
+ PoolAttribute.StartPadVector = PoolAttribute.PoolAttributeStartPadVector
+ PoolAttribute.AddKernel = PoolAttribute.PoolAttributeAddKernel
+ PoolAttribute.StartKernelVector = (
+ PoolAttribute.PoolAttributeStartKernelVector
+ )
+ PoolAttribute.AddStride = PoolAttribute.PoolAttributeAddStride
+ PoolAttribute.StartStrideVector = (
+ PoolAttribute.PoolAttributeStartStrideVector
+ )
+ PoolAttribute.AddInputZp = PoolAttribute.PoolAttributeAddInputZp
+ PoolAttribute.AddOutputZp = PoolAttribute.PoolAttributeAddOutputZp
+ PoolAttribute.End = PoolAttribute.PoolAttributeEnd
from tosa import MulAttribute
if not hasattr(MulAttribute, "Start"):
@@ -893,12 +909,6 @@ class TosaSerializer:
PadAttribute.AddPadConstInt = PadAttribute.PadAttributeAddPadConstInt
PadAttribute.AddPadConstFp = PadAttribute.PadAttributeAddPadConstFp
PadAttribute.End = PadAttribute.PadAttributeEnd
- from tosa import PadQuantInfo
-
- if not hasattr(PadQuantInfo, "Start"):
- PadQuantInfo.Start = PadQuantInfo.PadQuantInfoStart
- PadQuantInfo.AddInputZp = PadQuantInfo.PadQuantInfoAddInputZp
- PadQuantInfo.End = PadQuantInfo.PadQuantInfoEnd
from tosa import PoolAttribute
if not hasattr(PoolAttribute, "Start"):
@@ -913,6 +923,8 @@ class TosaSerializer:
PoolAttribute.StartStrideVector = (
PoolAttribute.PoolAttributeStartStrideVector
)
+ PoolAttribute.AddInputZp = PoolAttribute.PoolAttributeAddInputZp
+ PoolAttribute.AddOutputZp = PoolAttribute.PoolAttributeAddOutputZp
PoolAttribute.End = PoolAttribute.PoolAttributeEnd
from tosa import RescaleAttribute
@@ -1048,8 +1060,6 @@ class TosaSerializer:
TosaOperator.StartOutputsVector = (
TosaOperator.TosaOperatorStartOutputsVector
)
- TosaOperator.AddQuantInfoType = TosaOperator.TosaOperatorAddQuantInfoType
- TosaOperator.AddQuantInfo = TosaOperator.TosaOperatorAddQuantInfo
TosaOperator.End = TosaOperator.TosaOperatorEnd
from tosa import TosaTensor
@@ -1095,16 +1105,15 @@ class TosaSerializer:
TransposeConvAttribute.StartOutputShapeVector = (
TransposeConvAttribute.TransposeConvAttributeStartOutputShapeVector
)
+ TransposeConvAttribute.AddInputZp = (
+ TransposeConvAttribute.TransposeConvAttributeAddInputZp
+ )
+ TransposeConvAttribute.AddWeightZp = (
+ TransposeConvAttribute.TransposeConvAttributeAddWeightZp
+ )
TransposeConvAttribute.End = (
TransposeConvAttribute.TransposeConvAttributeEnd
)
- from tosa import UnaryQuantInfo
-
- if not hasattr(UnaryQuantInfo, "Start"):
- UnaryQuantInfo.Start = UnaryQuantInfo.UnaryQuantInfoStart
- UnaryQuantInfo.AddInputZp = UnaryQuantInfo.UnaryQuantInfoAddInputZp
- UnaryQuantInfo.AddOutputZp = UnaryQuantInfo.UnaryQuantInfoAddOutputZp
- UnaryQuantInfo.End = UnaryQuantInfo.UnaryQuantInfoEnd
from tosa import Version
if not hasattr(Version, "Start"):
@@ -1114,6 +1123,35 @@ class TosaSerializer:
Version.Add_patch = Version.VersionAdd_patch
Version.Add_draft = Version.VersionAdd_draft
Version.End = Version.VersionEnd
+ from tosa import MatMulAttribute
+
+ if not hasattr(MatMulAttribute, "Start"):
+ MatMulAttribute.Start = MatMulAttribute.MatMulAttributeStart
+ MatMulAttribute.AddAZp = MatMulAttribute.MatMulAttributeAddAZp
+ MatMulAttribute.AddBZp = MatMulAttribute.MatMulAttributeAddBZp
+ MatMulAttribute.End = MatMulAttribute.MatMulAttributeEnd
+ from tosa import FullyConnectedAttribute
+
+ if not hasattr(FullyConnectedAttribute, "Start"):
+ FullyConnectedAttribute.Start = (
+ FullyConnectedAttribute.FullyConnectedAttributeStart
+ )
+ FullyConnectedAttribute.AddInputZp = (
+ FullyConnectedAttribute.FullyConnectedAttributeAddInputZp
+ )
+ FullyConnectedAttribute.AddWeightZp = (
+ FullyConnectedAttribute.FullyConnectedAttributeAddWeightZp
+ )
+ FullyConnectedAttribute.End = (
+ FullyConnectedAttribute.FullyConnectedAttributeEnd
+ )
+ from tosa import NegateAttribute
+
+ if not hasattr(NegateAttribute, "Start"):
+ NegateAttribute.Start = NegateAttribute.NegateAttributeStart
+ NegateAttribute.AddInput1Zp = NegateAttribute.NegateAttributeAddInput1Zp
+ NegateAttribute.AddOutputZp = NegateAttribute.NegateAttributeAddOutputZp
+ NegateAttribute.End = NegateAttribute.NegateAttributeEnd
from tosa import WhileLoopAttribute
if not hasattr(WhileLoopAttribute, "Start"):
diff --git a/python/tosa/Attribute.py b/python/tosa/Attribute.py
index f0307af..166de8e 100644
--- a/python/tosa/Attribute.py
+++ b/python/tosa/Attribute.py
@@ -21,4 +21,7 @@ class Attribute(object):
WhileLoopAttribute = 15
TransposeAttribute = 16
TableAttribute = 17
+ MatMulAttribute = 18
+ FullyConnectedAttribute = 19
+ NegateAttribute = 20
diff --git a/python/tosa/ConvAttribute.py b/python/tosa/ConvAttribute.py
index 72a24ce..8244ea5 100644
--- a/python/tosa/ConvAttribute.py
+++ b/python/tosa/ConvAttribute.py
@@ -105,11 +105,27 @@ class ConvAttribute(object):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
return o == 0
-def ConvAttributeStart(builder): builder.StartObject(3)
+ # ConvAttribute
+ def InputZp(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
+ return 0
+
+ # ConvAttribute
+ def WeightZp(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
+ return 0
+
+def ConvAttributeStart(builder): builder.StartObject(5)
def ConvAttributeAddPad(builder, pad): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(pad), 0)
def ConvAttributeStartPadVector(builder, numElems): return builder.StartVector(4, numElems, 4)
def ConvAttributeAddStride(builder, stride): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(stride), 0)
def ConvAttributeStartStrideVector(builder, numElems): return builder.StartVector(4, numElems, 4)
def ConvAttributeAddDilation(builder, dilation): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(dilation), 0)
def ConvAttributeStartDilationVector(builder, numElems): return builder.StartVector(4, numElems, 4)
+def ConvAttributeAddInputZp(builder, inputZp): builder.PrependInt32Slot(3, inputZp, 0)
+def ConvAttributeAddWeightZp(builder, weightZp): builder.PrependInt32Slot(4, weightZp, 0)
def ConvAttributeEnd(builder): return builder.EndObject()
diff --git a/python/tosa/ConvQuantInfo.py b/python/tosa/FullyConnectedAttribute.py
index 7902c67..62b480d 100644
--- a/python/tosa/ConvQuantInfo.py
+++ b/python/tosa/FullyConnectedAttribute.py
@@ -6,39 +6,39 @@ import flatbuffers
from flatbuffers.compat import import_numpy
np = import_numpy()
-class ConvQuantInfo(object):
+class FullyConnectedAttribute(object):
__slots__ = ['_tab']
@classmethod
- def GetRootAsConvQuantInfo(cls, buf, offset):
+ def GetRootAsFullyConnectedAttribute(cls, buf, offset):
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
- x = ConvQuantInfo()
+ x = FullyConnectedAttribute()
x.Init(buf, n + offset)
return x
@classmethod
- def ConvQuantInfoBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
+ def FullyConnectedAttributeBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x4F\x53\x41", size_prefixed=size_prefixed)
- # ConvQuantInfo
+ # FullyConnectedAttribute
def Init(self, buf, pos):
self._tab = flatbuffers.table.Table(buf, pos)
- # ConvQuantInfo
+ # FullyConnectedAttribute
def InputZp(self):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
if o != 0:
return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
return 0
- # ConvQuantInfo
+ # FullyConnectedAttribute
def WeightZp(self):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
if o != 0:
return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
return 0
-def ConvQuantInfoStart(builder): builder.StartObject(2)
-def ConvQuantInfoAddInputZp(builder, inputZp): builder.PrependInt32Slot(0, inputZp, 0)
-def ConvQuantInfoAddWeightZp(builder, weightZp): builder.PrependInt32Slot(1, weightZp, 0)
-def ConvQuantInfoEnd(builder): return builder.EndObject()
+def FullyConnectedAttributeStart(builder): builder.StartObject(2)
+def FullyConnectedAttributeAddInputZp(builder, inputZp): builder.PrependInt32Slot(0, inputZp, 0)
+def FullyConnectedAttributeAddWeightZp(builder, weightZp): builder.PrependInt32Slot(1, weightZp, 0)
+def FullyConnectedAttributeEnd(builder): return builder.EndObject()
diff --git a/python/tosa/MatMulQuantInfo.py b/python/tosa/MatMulAttribute.py
index 457da66..601f13f 100644
--- a/python/tosa/MatMulQuantInfo.py
+++ b/python/tosa/MatMulAttribute.py
@@ -6,39 +6,39 @@ import flatbuffers
from flatbuffers.compat import import_numpy
np = import_numpy()
-class MatMulQuantInfo(object):
+class MatMulAttribute(object):
__slots__ = ['_tab']
@classmethod
- def GetRootAsMatMulQuantInfo(cls, buf, offset):
+ def GetRootAsMatMulAttribute(cls, buf, offset):
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
- x = MatMulQuantInfo()
+ x = MatMulAttribute()
x.Init(buf, n + offset)
return x
@classmethod
- def MatMulQuantInfoBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
+ def MatMulAttributeBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x4F\x53\x41", size_prefixed=size_prefixed)
- # MatMulQuantInfo
+ # MatMulAttribute
def Init(self, buf, pos):
self._tab = flatbuffers.table.Table(buf, pos)
- # MatMulQuantInfo
+ # MatMulAttribute
def AZp(self):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
if o != 0:
return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
return 0
- # MatMulQuantInfo
+ # MatMulAttribute
def BZp(self):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
if o != 0:
return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
return 0
-def MatMulQuantInfoStart(builder): builder.StartObject(2)
-def MatMulQuantInfoAddAZp(builder, aZp): builder.PrependInt32Slot(0, aZp, 0)
-def MatMulQuantInfoAddBZp(builder, bZp): builder.PrependInt32Slot(1, bZp, 0)
-def MatMulQuantInfoEnd(builder): return builder.EndObject()
+def MatMulAttributeStart(builder): builder.StartObject(2)
+def MatMulAttributeAddAZp(builder, aZp): builder.PrependInt32Slot(0, aZp, 0)
+def MatMulAttributeAddBZp(builder, bZp): builder.PrependInt32Slot(1, bZp, 0)
+def MatMulAttributeEnd(builder): return builder.EndObject()
diff --git a/python/tosa/UnaryQuantInfo.py b/python/tosa/NegateAttribute.py
index 648fc34..24a57dc 100644
--- a/python/tosa/UnaryQuantInfo.py
+++ b/python/tosa/NegateAttribute.py
@@ -6,39 +6,39 @@ import flatbuffers
from flatbuffers.compat import import_numpy
np = import_numpy()
-class UnaryQuantInfo(object):
+class NegateAttribute(object):
__slots__ = ['_tab']
@classmethod
- def GetRootAsUnaryQuantInfo(cls, buf, offset):
+ def GetRootAsNegateAttribute(cls, buf, offset):
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
- x = UnaryQuantInfo()
+ x = NegateAttribute()
x.Init(buf, n + offset)
return x
@classmethod
- def UnaryQuantInfoBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
+ def NegateAttributeBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x4F\x53\x41", size_prefixed=size_prefixed)
- # UnaryQuantInfo
+ # NegateAttribute
def Init(self, buf, pos):
self._tab = flatbuffers.table.Table(buf, pos)
- # UnaryQuantInfo
- def InputZp(self):
+ # NegateAttribute
+ def Input1Zp(self):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
if o != 0:
return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
return 0
- # UnaryQuantInfo
+ # NegateAttribute
def OutputZp(self):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
if o != 0:
return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
return 0
-def UnaryQuantInfoStart(builder): builder.StartObject(2)
-def UnaryQuantInfoAddInputZp(builder, inputZp): builder.PrependInt32Slot(0, inputZp, 0)
-def UnaryQuantInfoAddOutputZp(builder, outputZp): builder.PrependInt32Slot(1, outputZp, 0)
-def UnaryQuantInfoEnd(builder): return builder.EndObject()
+def NegateAttributeStart(builder): builder.StartObject(2)
+def NegateAttributeAddInput1Zp(builder, input1Zp): builder.PrependInt32Slot(0, input1Zp, 0)
+def NegateAttributeAddOutputZp(builder, outputZp): builder.PrependInt32Slot(1, outputZp, 0)
+def NegateAttributeEnd(builder): return builder.EndObject()
diff --git a/python/tosa/PadQuantInfo.py b/python/tosa/PadQuantInfo.py
deleted file mode 100644
index c07db07..0000000
--- a/python/tosa/PadQuantInfo.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# automatically generated by the FlatBuffers compiler, do not modify
-
-# namespace: tosa
-
-import flatbuffers
-from flatbuffers.compat import import_numpy
-np = import_numpy()
-
-class PadQuantInfo(object):
- __slots__ = ['_tab']
-
- @classmethod
- def GetRootAsPadQuantInfo(cls, buf, offset):
- n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
- x = PadQuantInfo()
- x.Init(buf, n + offset)
- return x
-
- @classmethod
- def PadQuantInfoBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
- return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x4F\x53\x41", size_prefixed=size_prefixed)
-
- # PadQuantInfo
- def Init(self, buf, pos):
- self._tab = flatbuffers.table.Table(buf, pos)
-
- # PadQuantInfo
- def InputZp(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
- if o != 0:
- return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
- return 0
-
-def PadQuantInfoStart(builder): builder.StartObject(1)
-def PadQuantInfoAddInputZp(builder, inputZp): builder.PrependInt32Slot(0, inputZp, 0)
-def PadQuantInfoEnd(builder): return builder.EndObject()
diff --git a/python/tosa/PoolAttribute.py b/python/tosa/PoolAttribute.py
index f2c12cf..8b6903e 100644
--- a/python/tosa/PoolAttribute.py
+++ b/python/tosa/PoolAttribute.py
@@ -105,11 +105,27 @@ class PoolAttribute(object):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
return o == 0
-def PoolAttributeStart(builder): builder.StartObject(3)
+ # PoolAttribute
+ def InputZp(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
+ return 0
+
+ # PoolAttribute
+ def OutputZp(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
+ return 0
+
+def PoolAttributeStart(builder): builder.StartObject(5)
def PoolAttributeAddPad(builder, pad): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(pad), 0)
def PoolAttributeStartPadVector(builder, numElems): return builder.StartVector(4, numElems, 4)
def PoolAttributeAddKernel(builder, kernel): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(kernel), 0)
def PoolAttributeStartKernelVector(builder, numElems): return builder.StartVector(4, numElems, 4)
def PoolAttributeAddStride(builder, stride): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(stride), 0)
def PoolAttributeStartStrideVector(builder, numElems): return builder.StartVector(4, numElems, 4)
+def PoolAttributeAddInputZp(builder, inputZp): builder.PrependInt32Slot(3, inputZp, 0)
+def PoolAttributeAddOutputZp(builder, outputZp): builder.PrependInt32Slot(4, outputZp, 0)
def PoolAttributeEnd(builder): return builder.EndObject()
diff --git a/python/tosa/QuantInfo.py b/python/tosa/QuantInfo.py
deleted file mode 100644
index ffdfd32..0000000
--- a/python/tosa/QuantInfo.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# automatically generated by the FlatBuffers compiler, do not modify
-
-# namespace: tosa
-
-class QuantInfo(object):
- NONE = 0
- UnaryQuantInfo = 1
- ConvQuantInfo = 2
- MatMulQuantInfo = 3
- PadQuantInfo = 4
-
diff --git a/python/tosa/TosaOperator.py b/python/tosa/TosaOperator.py
index 040c2dc..fd11f76 100644
--- a/python/tosa/TosaOperator.py
+++ b/python/tosa/TosaOperator.py
@@ -88,24 +88,7 @@ class TosaOperator(object):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
return o == 0
- # TosaOperator
- def QuantInfoType(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(14))
- if o != 0:
- return self._tab.Get(flatbuffers.number_types.Uint8Flags, o + self._tab.Pos)
- return 0
-
- # TosaOperator
- def QuantInfo(self):
- o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16))
- if o != 0:
- from flatbuffers.table import Table
- obj = Table(bytearray(), 0)
- self._tab.Union(obj, o)
- return obj
- return None
-
-def TosaOperatorStart(builder): builder.StartObject(7)
+def TosaOperatorStart(builder): builder.StartObject(5)
def TosaOperatorAddOp(builder, op): builder.PrependUint32Slot(0, op, 0)
def TosaOperatorAddAttributeType(builder, attributeType): builder.PrependUint8Slot(1, attributeType, 0)
def TosaOperatorAddAttribute(builder, attribute): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(attribute), 0)
@@ -113,6 +96,4 @@ def TosaOperatorAddInputs(builder, inputs): builder.PrependUOffsetTRelativeSlot(
def TosaOperatorStartInputsVector(builder, numElems): return builder.StartVector(4, numElems, 4)
def TosaOperatorAddOutputs(builder, outputs): builder.PrependUOffsetTRelativeSlot(4, flatbuffers.number_types.UOffsetTFlags.py_type(outputs), 0)
def TosaOperatorStartOutputsVector(builder, numElems): return builder.StartVector(4, numElems, 4)
-def TosaOperatorAddQuantInfoType(builder, quantInfoType): builder.PrependUint8Slot(5, quantInfoType, 0)
-def TosaOperatorAddQuantInfo(builder, quantInfo): builder.PrependUOffsetTRelativeSlot(6, flatbuffers.number_types.UOffsetTFlags.py_type(quantInfo), 0)
def TosaOperatorEnd(builder): return builder.EndObject()
diff --git a/python/tosa/TransposeConvAttribute.py b/python/tosa/TransposeConvAttribute.py
index 2a675a0..8ca5ba7 100644
--- a/python/tosa/TransposeConvAttribute.py
+++ b/python/tosa/TransposeConvAttribute.py
@@ -105,11 +105,27 @@ class TransposeConvAttribute(object):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
return o == 0
-def TransposeConvAttributeStart(builder): builder.StartObject(3)
+ # TransposeConvAttribute
+ def InputZp(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
+ return 0
+
+ # TransposeConvAttribute
+ def WeightZp(self):
+ o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
+ if o != 0:
+ return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
+ return 0
+
+def TransposeConvAttributeStart(builder): builder.StartObject(5)
def TransposeConvAttributeAddOutPad(builder, outPad): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(outPad), 0)
def TransposeConvAttributeStartOutPadVector(builder, numElems): return builder.StartVector(4, numElems, 4)
def TransposeConvAttributeAddStride(builder, stride): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(stride), 0)
def TransposeConvAttributeStartStrideVector(builder, numElems): return builder.StartVector(4, numElems, 4)
def TransposeConvAttributeAddOutputShape(builder, outputShape): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(outputShape), 0)
def TransposeConvAttributeStartOutputShapeVector(builder, numElems): return builder.StartVector(4, numElems, 4)
+def TransposeConvAttributeAddInputZp(builder, inputZp): builder.PrependInt32Slot(3, inputZp, 0)
+def TransposeConvAttributeAddWeightZp(builder, weightZp): builder.PrependInt32Slot(4, weightZp, 0)
def TransposeConvAttributeEnd(builder): return builder.EndObject()
diff --git a/python/tosa/Version.py b/python/tosa/Version.py
index 27dea53..bdac948 100644
--- a/python/tosa/Version.py
+++ b/python/tosa/Version.py
@@ -36,7 +36,7 @@ class Version(object):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
if o != 0:
return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
- return 25
+ return 30
# Version
def _patch(self):
@@ -54,7 +54,7 @@ class Version(object):
def VersionStart(builder): builder.StartObject(4)
def VersionAdd_major(builder, Major): builder.PrependInt32Slot(0, Major, 0)
-def VersionAdd_minor(builder, Minor): builder.PrependInt32Slot(1, Minor, 25)
+def VersionAdd_minor(builder, Minor): builder.PrependInt32Slot(1, Minor, 30)
def VersionAdd_patch(builder, Patch): builder.PrependInt32Slot(2, Patch, 0)
def VersionAdd_draft(builder, Draft): builder.PrependBoolSlot(3, Draft, 1)
def VersionEnd(builder): return builder.EndObject()