Remove accumulator attributes from all but AVG_POOL2D

* Also add missing CustomAttribute.py (flatbuffers generated file)

Signed-off-by: James Ward <james.ward@arm.com>
Change-Id: Ib71847e03d622995dd86afcb6ec9ed2bc147ee7a
diff --git a/include/attribute.def b/include/attribute.def
index 86361a4..9e4c461 100644
--- a/include/attribute.def
+++ b/include/attribute.def
@@ -34,21 +34,19 @@
               int32_t, S, output_zp,
               DType,   S, accum_dtype)
 
-DEF_ATTRIBUTE(Conv, 6,
+DEF_ATTRIBUTE(Conv, 5,
               int32_t, V, pad,
               int32_t, V, stride,
               int32_t, V, dilation,
               int32_t, S, input_zp,
-              int32_t, S, weight_zp,
-              DType,   S, accum_dtype)
+              int32_t, S, weight_zp)
 
-DEF_ATTRIBUTE(TransposeConv, 6,
+DEF_ATTRIBUTE(TransposeConv, 5,
               int32_t, V, out_pad,
               int32_t, V, stride,
               int32_t, V, output_shape,
               int32_t, S, input_zp,
-              int32_t, S, weight_zp,
-              DType,   S, accum_dtype)
+              int32_t, S, weight_zp)
 
 DEF_ATTRIBUTE(Pad, 3,
               int32_t, V, padding,
@@ -109,15 +107,13 @@
 DEF_ATTRIBUTE(Table, 1,
               int16_t, V, table)
 
-DEF_ATTRIBUTE(MatMul, 3,
+DEF_ATTRIBUTE(MatMul, 2,
               int32_t, S, a_zp,
-              int32_t, S, b_zp,
-              DType,   S, accum_dtype)
+              int32_t, S, b_zp)
 
-DEF_ATTRIBUTE(FullyConnected, 3,
+DEF_ATTRIBUTE(FullyConnected, 2,
               int32_t, S, input_zp,
-              int32_t, S, weight_zp,
-              DType,   S, accum_dtype)
+              int32_t, S, weight_zp)
 
 DEF_ATTRIBUTE(Negate, 2,
               int32_t, S, input1_zp,
diff --git a/include/tosa_generated.h b/include/tosa_generated.h
index b34875f..50b3835 100644
--- a/include/tosa_generated.h
+++ b/include/tosa_generated.h
@@ -732,8 +732,7 @@
     VT_STRIDE = 6,
     VT_DILATION = 8,
     VT_INPUT_ZP = 10,
-    VT_WEIGHT_ZP = 12,
-    VT_ACCUM_DTYPE = 14
+    VT_WEIGHT_ZP = 12
   };
   const flatbuffers::Vector<int32_t> *pad() const {
     return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_PAD);
@@ -750,9 +749,6 @@
   int32_t weight_zp() const {
     return GetField<int32_t>(VT_WEIGHT_ZP, 0);
   }
-  tosa::DType accum_dtype() const {
-    return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACCUM_DTYPE, 0));
-  }
   bool Verify(flatbuffers::Verifier &verifier) const {
     return VerifyTableStart(verifier) &&
            VerifyOffset(verifier, VT_PAD) &&
@@ -763,7 +759,6 @@
            verifier.VerifyVector(dilation()) &&
            VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
            VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
-           VerifyField<uint32_t>(verifier, VT_ACCUM_DTYPE, 4) &&
            verifier.EndTable();
   }
 };
@@ -787,9 +782,6 @@
   void add_weight_zp(int32_t weight_zp) {
     fbb_.AddElement<int32_t>(ConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
   }
-  void add_accum_dtype(tosa::DType accum_dtype) {
-    fbb_.AddElement<uint32_t>(ConvAttribute::VT_ACCUM_DTYPE, static_cast<uint32_t>(accum_dtype), 0);
-  }
   explicit ConvAttributeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
         : fbb_(_fbb) {
     start_ = fbb_.StartTable();
@@ -807,10 +799,8 @@
     flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride = 0,
     flatbuffers::Offset<flatbuffers::Vector<int32_t>> dilation = 0,
     int32_t input_zp = 0,
-    int32_t weight_zp = 0,
-    tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
+    int32_t weight_zp = 0) {
   ConvAttributeBuilder builder_(_fbb);
-  builder_.add_accum_dtype(accum_dtype);
   builder_.add_weight_zp(weight_zp);
   builder_.add_input_zp(input_zp);
   builder_.add_dilation(dilation);
@@ -825,8 +815,7 @@
     const std::vector<int32_t> *stride = nullptr,
     const std::vector<int32_t> *dilation = nullptr,
     int32_t input_zp = 0,
-    int32_t weight_zp = 0,
-    tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
+    int32_t weight_zp = 0) {
   auto pad__ = pad ? _fbb.CreateVector<int32_t>(*pad) : 0;
   auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
   auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
@@ -836,8 +825,7 @@
       stride__,
       dilation__,
       input_zp,
-      weight_zp,
-      accum_dtype);
+      weight_zp);
 }
 
 struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
@@ -847,8 +835,7 @@
     VT_STRIDE = 6,
     VT_OUTPUT_SHAPE = 8,
     VT_INPUT_ZP = 10,
-    VT_WEIGHT_ZP = 12,
-    VT_ACCUM_DTYPE = 14
+    VT_WEIGHT_ZP = 12
   };
   const flatbuffers::Vector<int32_t> *out_pad() const {
     return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_OUT_PAD);
@@ -865,9 +852,6 @@
   int32_t weight_zp() const {
     return GetField<int32_t>(VT_WEIGHT_ZP, 0);
   }
-  tosa::DType accum_dtype() const {
-    return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACCUM_DTYPE, 0));
-  }
   bool Verify(flatbuffers::Verifier &verifier) const {
     return VerifyTableStart(verifier) &&
            VerifyOffset(verifier, VT_OUT_PAD) &&
@@ -878,7 +862,6 @@
            verifier.VerifyVector(output_shape()) &&
            VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
            VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
-           VerifyField<uint32_t>(verifier, VT_ACCUM_DTYPE, 4) &&
            verifier.EndTable();
   }
 };
@@ -902,9 +885,6 @@
   void add_weight_zp(int32_t weight_zp) {
     fbb_.AddElement<int32_t>(TransposeConvAttribute::VT_WEIGHT_ZP, weight_zp, 0);
   }
-  void add_accum_dtype(tosa::DType accum_dtype) {
-    fbb_.AddElement<uint32_t>(TransposeConvAttribute::VT_ACCUM_DTYPE, static_cast<uint32_t>(accum_dtype), 0);
-  }
   explicit TransposeConvAttributeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
         : fbb_(_fbb) {
     start_ = fbb_.StartTable();
@@ -922,10 +902,8 @@
     flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride = 0,
     flatbuffers::Offset<flatbuffers::Vector<int32_t>> output_shape = 0,
     int32_t input_zp = 0,
-    int32_t weight_zp = 0,
-    tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
+    int32_t weight_zp = 0) {
   TransposeConvAttributeBuilder builder_(_fbb);
-  builder_.add_accum_dtype(accum_dtype);
   builder_.add_weight_zp(weight_zp);
   builder_.add_input_zp(input_zp);
   builder_.add_output_shape(output_shape);
@@ -940,8 +918,7 @@
     const std::vector<int32_t> *stride = nullptr,
     const std::vector<int32_t> *output_shape = nullptr,
     int32_t input_zp = 0,
-    int32_t weight_zp = 0,
-    tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
+    int32_t weight_zp = 0) {
   auto out_pad__ = out_pad ? _fbb.CreateVector<int32_t>(*out_pad) : 0;
   auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
   auto output_shape__ = output_shape ? _fbb.CreateVector<int32_t>(*output_shape) : 0;
@@ -951,8 +928,7 @@
       stride__,
       output_shape__,
       input_zp,
-      weight_zp,
-      accum_dtype);
+      weight_zp);
 }
 
 struct PadAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
@@ -1866,8 +1842,7 @@
   typedef MatMulAttributeBuilder Builder;
   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
     VT_A_ZP = 4,
-    VT_B_ZP = 6,
-    VT_ACCUM_DTYPE = 8
+    VT_B_ZP = 6
   };
   int32_t a_zp() const {
     return GetField<int32_t>(VT_A_ZP, 0);
@@ -1875,14 +1850,10 @@
   int32_t b_zp() const {
     return GetField<int32_t>(VT_B_ZP, 0);
   }
-  tosa::DType accum_dtype() const {
-    return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACCUM_DTYPE, 0));
-  }
   bool Verify(flatbuffers::Verifier &verifier) const {
     return VerifyTableStart(verifier) &&
            VerifyField<int32_t>(verifier, VT_A_ZP, 4) &&
            VerifyField<int32_t>(verifier, VT_B_ZP, 4) &&
-           VerifyField<uint32_t>(verifier, VT_ACCUM_DTYPE, 4) &&
            verifier.EndTable();
   }
 };
@@ -1897,9 +1868,6 @@
   void add_b_zp(int32_t b_zp) {
     fbb_.AddElement<int32_t>(MatMulAttribute::VT_B_ZP, b_zp, 0);
   }
-  void add_accum_dtype(tosa::DType accum_dtype) {
-    fbb_.AddElement<uint32_t>(MatMulAttribute::VT_ACCUM_DTYPE, static_cast<uint32_t>(accum_dtype), 0);
-  }
   explicit MatMulAttributeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
         : fbb_(_fbb) {
     start_ = fbb_.StartTable();
@@ -1914,10 +1882,8 @@
 inline flatbuffers::Offset<MatMulAttribute> CreateMatMulAttribute(
     flatbuffers::FlatBufferBuilder &_fbb,
     int32_t a_zp = 0,
-    int32_t b_zp = 0,
-    tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
+    int32_t b_zp = 0) {
   MatMulAttributeBuilder builder_(_fbb);
-  builder_.add_accum_dtype(accum_dtype);
   builder_.add_b_zp(b_zp);
   builder_.add_a_zp(a_zp);
   return builder_.Finish();
@@ -1927,8 +1893,7 @@
   typedef FullyConnectedAttributeBuilder Builder;
   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
     VT_INPUT_ZP = 4,
-    VT_WEIGHT_ZP = 6,
-    VT_ACCUM_DTYPE = 8
+    VT_WEIGHT_ZP = 6
   };
   int32_t input_zp() const {
     return GetField<int32_t>(VT_INPUT_ZP, 0);
@@ -1936,14 +1901,10 @@
   int32_t weight_zp() const {
     return GetField<int32_t>(VT_WEIGHT_ZP, 0);
   }
-  tosa::DType accum_dtype() const {
-    return static_cast<tosa::DType>(GetField<uint32_t>(VT_ACCUM_DTYPE, 0));
-  }
   bool Verify(flatbuffers::Verifier &verifier) const {
     return VerifyTableStart(verifier) &&
            VerifyField<int32_t>(verifier, VT_INPUT_ZP, 4) &&
            VerifyField<int32_t>(verifier, VT_WEIGHT_ZP, 4) &&
-           VerifyField<uint32_t>(verifier, VT_ACCUM_DTYPE, 4) &&
            verifier.EndTable();
   }
 };
@@ -1958,9 +1919,6 @@
   void add_weight_zp(int32_t weight_zp) {
     fbb_.AddElement<int32_t>(FullyConnectedAttribute::VT_WEIGHT_ZP, weight_zp, 0);
   }
-  void add_accum_dtype(tosa::DType accum_dtype) {
-    fbb_.AddElement<uint32_t>(FullyConnectedAttribute::VT_ACCUM_DTYPE, static_cast<uint32_t>(accum_dtype), 0);
-  }
   explicit FullyConnectedAttributeBuilder(flatbuffers::FlatBufferBuilder &_fbb)
         : fbb_(_fbb) {
     start_ = fbb_.StartTable();
@@ -1975,10 +1933,8 @@
 inline flatbuffers::Offset<FullyConnectedAttribute> CreateFullyConnectedAttribute(
     flatbuffers::FlatBufferBuilder &_fbb,
     int32_t input_zp = 0,
-    int32_t weight_zp = 0,
-    tosa::DType accum_dtype = tosa::DType_UNKNOWN) {
+    int32_t weight_zp = 0) {
   FullyConnectedAttributeBuilder builder_(_fbb);
-  builder_.add_accum_dtype(accum_dtype);
   builder_.add_weight_zp(weight_zp);
   builder_.add_input_zp(input_zp);
   return builder_.Finish();
diff --git a/python/serializer/tosa_serializer.py b/python/serializer/tosa_serializer.py
index f579df2..b22cb20 100644
--- a/python/serializer/tosa_serializer.py
+++ b/python/serializer/tosa_serializer.py
@@ -170,7 +170,7 @@
         self.ints.append((a.AddOutputZp, output_zp))
         self.ints.append((a.AddAccumDtype, accum_dtype))
 
-    def ConvAttribute(self, pad, stride, dilation, input_zp, weight_zp, accum_dtype):
+    def ConvAttribute(self, pad, stride, dilation, input_zp, weight_zp):
         from tosa import ConvAttribute as a, Attribute
 
         self.utype = Attribute.Attribute().ConvAttribute
@@ -181,11 +181,8 @@
         self.intvecs.append((a.AddDilation, dilation))
         self.ints.append((a.AddInputZp, input_zp))
         self.ints.append((a.AddWeightZp, weight_zp))
-        self.ints.append((a.AddAccumDtype, accum_dtype))
 
-    def TransposeConvAttribute(
-        self, outpad, stride, output_shape, input_zp, weight_zp, accum_dtype
-    ):
+    def TransposeConvAttribute(self, outpad, stride, output_shape, input_zp, weight_zp):
         from tosa import TransposeConvAttribute as a, Attribute
 
         self.utype = Attribute.Attribute().TransposeConvAttribute
@@ -196,7 +193,6 @@
         self.intvecs.append((a.AddOutputShape, output_shape))
         self.ints.append((a.AddInputZp, input_zp))
         self.ints.append((a.AddWeightZp, weight_zp))
-        self.ints.append((a.AddAccumDtype, accum_dtype))
 
     def PadAttribute(self, serializer_builder, padding, pad_const_int, pad_const_fp):
         from tosa import PadAttribute as a, Attribute
@@ -350,7 +346,7 @@
 
         self.intvecs.append((a.AddTable, table))
 
-    def MatMulAttribute(self, A_zp, B_zp, accum_dtype):
+    def MatMulAttribute(self, A_zp, B_zp):
         from tosa import MatMulAttribute as a, Attribute
 
         self.utype = Attribute.Attribute().MatMulAttribute
@@ -358,9 +354,8 @@
 
         self.ints.append((a.AddAZp, A_zp))
         self.ints.append((a.AddBZp, B_zp))
-        self.ints.append((a.AddAccumDtype, accum_dtype))
 
-    def FullyConnectedAttribute(self, input_zp, weight_zp, accum_dtype):
+    def FullyConnectedAttribute(self, input_zp, weight_zp):
         from tosa import FullyConnectedAttribute as a, Attribute
 
         self.utype = Attribute.Attribute().FullyConnectedAttribute
@@ -368,7 +363,6 @@
 
         self.ints.append((a.AddInputZp, input_zp))
         self.ints.append((a.AddWeightZp, weight_zp))
-        self.ints.append((a.AddAccumDtype, accum_dtype))
 
     def NegateAttribute(self, input1_zp, output_zp):
         from tosa import NegateAttribute as a, Attribute
diff --git a/python/tosa/ConvAttribute.py b/python/tosa/ConvAttribute.py
index c06e8c7..fb22c7a 100644
--- a/python/tosa/ConvAttribute.py
+++ b/python/tosa/ConvAttribute.py
@@ -123,14 +123,7 @@
             return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
         return 0
 
-    # ConvAttribute
-    def AccumDtype(self):
-        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(14))
-        if o != 0:
-            return self._tab.Get(flatbuffers.number_types.Uint32Flags, o + self._tab.Pos)
-        return 0
-
-def ConvAttributeStart(builder): builder.StartObject(6)
+def ConvAttributeStart(builder): builder.StartObject(5)
 def Start(builder):
     return ConvAttributeStart(builder)
 def ConvAttributeAddPad(builder, pad): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(pad), 0)
@@ -157,9 +150,6 @@
 def ConvAttributeAddWeightZp(builder, weightZp): builder.PrependInt32Slot(4, weightZp, 0)
 def AddWeightZp(builder, weightZp):
     return ConvAttributeAddWeightZp(builder, weightZp)
-def ConvAttributeAddAccumDtype(builder, accumDtype): builder.PrependUint32Slot(5, accumDtype, 0)
-def AddAccumDtype(builder, accumDtype):
-    return ConvAttributeAddAccumDtype(builder, accumDtype)
 def ConvAttributeEnd(builder): return builder.EndObject()
 def End(builder):
     return ConvAttributeEnd(builder)
\ No newline at end of file
diff --git a/python/tosa/CustomAttribute.py b/python/tosa/CustomAttribute.py
new file mode 100644
index 0000000..40d7e88
--- /dev/null
+++ b/python/tosa/CustomAttribute.py
@@ -0,0 +1,89 @@
+# automatically generated by the FlatBuffers compiler, do not modify
+
+# namespace: tosa
+
+import flatbuffers
+from flatbuffers.compat import import_numpy
+np = import_numpy()
+
+class CustomAttribute(object):
+    __slots__ = ['_tab']
+
+    @classmethod
+    def GetRootAs(cls, buf, offset=0):
+        n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
+        x = CustomAttribute()
+        x.Init(buf, n + offset)
+        return x
+
+    @classmethod
+    def GetRootAsCustomAttribute(cls, buf, offset=0):
+        """This method is deprecated. Please switch to GetRootAs."""
+        return cls.GetRootAs(buf, offset)
+    @classmethod
+    def CustomAttributeBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
+        return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x4F\x53\x41", size_prefixed=size_prefixed)
+
+    # CustomAttribute
+    def Init(self, buf, pos):
+        self._tab = flatbuffers.table.Table(buf, pos)
+
+    # CustomAttribute
+    def Identifier(self):
+        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
+        if o != 0:
+            return self._tab.String(o + self._tab.Pos)
+        return None
+
+    # CustomAttribute
+    def Config(self):
+        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
+        if o != 0:
+            return self._tab.String(o + self._tab.Pos)
+        return None
+
+    # CustomAttribute
+    def ImplementationAttrs(self, j):
+        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
+        if o != 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
+
+    # CustomAttribute
+    def ImplementationAttrsAsNumpy(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
+
+    # CustomAttribute
+    def ImplementationAttrsLength(self):
+        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
+        if o != 0:
+            return self._tab.VectorLen(o)
+        return 0
+
+    # CustomAttribute
+    def ImplementationAttrsIsNone(self):
+        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
+        return o == 0
+
+def CustomAttributeStart(builder): builder.StartObject(3)
+def Start(builder):
+    return CustomAttributeStart(builder)
+def CustomAttributeAddIdentifier(builder, identifier): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(identifier), 0)
+def AddIdentifier(builder, identifier):
+    return CustomAttributeAddIdentifier(builder, identifier)
+def CustomAttributeAddConfig(builder, config): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(config), 0)
+def AddConfig(builder, config):
+    return CustomAttributeAddConfig(builder, config)
+def CustomAttributeAddImplementationAttrs(builder, implementationAttrs): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(implementationAttrs), 0)
+def AddImplementationAttrs(builder, implementationAttrs):
+    return CustomAttributeAddImplementationAttrs(builder, implementationAttrs)
+def CustomAttributeStartImplementationAttrsVector(builder, numElems): return builder.StartVector(1, numElems, 1)
+def StartImplementationAttrsVector(builder, numElems):
+    return CustomAttributeStartImplementationAttrsVector(builder, numElems)
+def CustomAttributeEnd(builder): return builder.EndObject()
+def End(builder):
+    return CustomAttributeEnd(builder)
\ No newline at end of file
diff --git a/python/tosa/FullyConnectedAttribute.py b/python/tosa/FullyConnectedAttribute.py
index 546ec60..892b0da 100644
--- a/python/tosa/FullyConnectedAttribute.py
+++ b/python/tosa/FullyConnectedAttribute.py
@@ -42,14 +42,7 @@
             return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
         return 0
 
-    # FullyConnectedAttribute
-    def AccumDtype(self):
-        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
-        if o != 0:
-            return self._tab.Get(flatbuffers.number_types.Uint32Flags, o + self._tab.Pos)
-        return 0
-
-def FullyConnectedAttributeStart(builder): builder.StartObject(3)
+def FullyConnectedAttributeStart(builder): builder.StartObject(2)
 def Start(builder):
     return FullyConnectedAttributeStart(builder)
 def FullyConnectedAttributeAddInputZp(builder, inputZp): builder.PrependInt32Slot(0, inputZp, 0)
@@ -58,9 +51,6 @@
 def FullyConnectedAttributeAddWeightZp(builder, weightZp): builder.PrependInt32Slot(1, weightZp, 0)
 def AddWeightZp(builder, weightZp):
     return FullyConnectedAttributeAddWeightZp(builder, weightZp)
-def FullyConnectedAttributeAddAccumDtype(builder, accumDtype): builder.PrependUint32Slot(2, accumDtype, 0)
-def AddAccumDtype(builder, accumDtype):
-    return FullyConnectedAttributeAddAccumDtype(builder, accumDtype)
 def FullyConnectedAttributeEnd(builder): return builder.EndObject()
 def End(builder):
     return FullyConnectedAttributeEnd(builder)
\ No newline at end of file
diff --git a/python/tosa/MatMulAttribute.py b/python/tosa/MatMulAttribute.py
index af6ba0b..b42ebfa 100644
--- a/python/tosa/MatMulAttribute.py
+++ b/python/tosa/MatMulAttribute.py
@@ -42,14 +42,7 @@
             return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
         return 0
 
-    # MatMulAttribute
-    def AccumDtype(self):
-        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
-        if o != 0:
-            return self._tab.Get(flatbuffers.number_types.Uint32Flags, o + self._tab.Pos)
-        return 0
-
-def MatMulAttributeStart(builder): builder.StartObject(3)
+def MatMulAttributeStart(builder): builder.StartObject(2)
 def Start(builder):
     return MatMulAttributeStart(builder)
 def MatMulAttributeAddAZp(builder, aZp): builder.PrependInt32Slot(0, aZp, 0)
@@ -58,9 +51,6 @@
 def MatMulAttributeAddBZp(builder, bZp): builder.PrependInt32Slot(1, bZp, 0)
 def AddBZp(builder, bZp):
     return MatMulAttributeAddBZp(builder, bZp)
-def MatMulAttributeAddAccumDtype(builder, accumDtype): builder.PrependUint32Slot(2, accumDtype, 0)
-def AddAccumDtype(builder, accumDtype):
-    return MatMulAttributeAddAccumDtype(builder, accumDtype)
 def MatMulAttributeEnd(builder): return builder.EndObject()
 def End(builder):
     return MatMulAttributeEnd(builder)
\ No newline at end of file
diff --git a/python/tosa/TransposeConvAttribute.py b/python/tosa/TransposeConvAttribute.py
index 1a6bbde..a2824e2 100644
--- a/python/tosa/TransposeConvAttribute.py
+++ b/python/tosa/TransposeConvAttribute.py
@@ -123,14 +123,7 @@
             return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
         return 0
 
-    # TransposeConvAttribute
-    def AccumDtype(self):
-        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(14))
-        if o != 0:
-            return self._tab.Get(flatbuffers.number_types.Uint32Flags, o + self._tab.Pos)
-        return 0
-
-def TransposeConvAttributeStart(builder): builder.StartObject(6)
+def TransposeConvAttributeStart(builder): builder.StartObject(5)
 def Start(builder):
     return TransposeConvAttributeStart(builder)
 def TransposeConvAttributeAddOutPad(builder, outPad): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(outPad), 0)
@@ -157,9 +150,6 @@
 def TransposeConvAttributeAddWeightZp(builder, weightZp): builder.PrependInt32Slot(4, weightZp, 0)
 def AddWeightZp(builder, weightZp):
     return TransposeConvAttributeAddWeightZp(builder, weightZp)
-def TransposeConvAttributeAddAccumDtype(builder, accumDtype): builder.PrependUint32Slot(5, accumDtype, 0)
-def AddAccumDtype(builder, accumDtype):
-    return TransposeConvAttributeAddAccumDtype(builder, accumDtype)
 def TransposeConvAttributeEnd(builder): return builder.EndObject()
 def End(builder):
     return TransposeConvAttributeEnd(builder)
\ No newline at end of file
diff --git a/schema/tosa.fbs b/schema/tosa.fbs
index e4a2498..abc735f 100644
--- a/schema/tosa.fbs
+++ b/schema/tosa.fbs
@@ -158,7 +158,6 @@
   dilation: [int32];
   input_zp: int32;
   weight_zp: int32;
-  accum_dtype: DType;
 }
 
 table TransposeConvAttribute {
@@ -167,7 +166,6 @@
   output_shape: [int32];
   input_zp: int32;
   weight_zp: int32;
-  accum_dtype: DType;
 }
 
 table PadAttribute {
@@ -246,13 +244,11 @@
 table MatMulAttribute {
   a_zp: int32;
   b_zp: int32;
-  accum_dtype: DType;
 }
 
 table FullyConnectedAttribute {
   input_zp: int32;
   weight_zp: int32;
-  accum_dtype: DType;
 }
 
 table NegateAttribute {