Remove dilation from transpose_conv2d

The specification does not have dilation for transpose_conv2d.
Removed dilation from the attributes for transpose.
Rename outpad to out_pad for transpose conv2d to align with
specification

Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Change-Id: Ifb0fb7121a6bf33601420366ce86f2f0b56353de
diff --git a/include/attribute.def b/include/attribute.def
index 38f6d29..8ac5d8d 100644
--- a/include/attribute.def
+++ b/include/attribute.def
@@ -36,10 +36,9 @@
               int32_t, V, stride,
               int32_t, V, dilation)
 
-DEF_ATTRIBUTE(TransposeConv, 4,
-              int32_t, V, outpad,
+DEF_ATTRIBUTE(TransposeConv, 3,
+              int32_t, V, out_pad,
               int32_t, V, stride,
-              int32_t, V, dilation,
               int32_t, V, output_shape)
 
 DEF_ATTRIBUTE(Pad, 3,
diff --git a/include/tosa_generated.h b/include/tosa_generated.h
index 799a3e7..58fe4a7 100644
--- a/include/tosa_generated.h
+++ b/include/tosa_generated.h
@@ -782,31 +782,25 @@
 struct TransposeConvAttribute FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
   typedef TransposeConvAttributeBuilder Builder;
   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
-    VT_OUTPAD = 4,
+    VT_OUT_PAD = 4,
     VT_STRIDE = 6,
-    VT_DILATION = 8,
-    VT_OUTPUT_SHAPE = 10
+    VT_OUTPUT_SHAPE = 8
   };
-  const flatbuffers::Vector<int32_t> *outpad() const {
-    return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_OUTPAD);
+  const flatbuffers::Vector<int32_t> *out_pad() const {
+    return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_OUT_PAD);
   }
   const flatbuffers::Vector<int32_t> *stride() const {
     return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_STRIDE);
   }
-  const flatbuffers::Vector<int32_t> *dilation() const {
-    return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_DILATION);
-  }
   const flatbuffers::Vector<int32_t> *output_shape() const {
     return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_OUTPUT_SHAPE);
   }
   bool Verify(flatbuffers::Verifier &verifier) const {
     return VerifyTableStart(verifier) &&
-           VerifyOffset(verifier, VT_OUTPAD) &&
-           verifier.VerifyVector(outpad()) &&
+           VerifyOffset(verifier, VT_OUT_PAD) &&
+           verifier.VerifyVector(out_pad()) &&
            VerifyOffset(verifier, VT_STRIDE) &&
            verifier.VerifyVector(stride()) &&
-           VerifyOffset(verifier, VT_DILATION) &&
-           verifier.VerifyVector(dilation()) &&
            VerifyOffset(verifier, VT_OUTPUT_SHAPE) &&
            verifier.VerifyVector(output_shape()) &&
            verifier.EndTable();
@@ -817,15 +811,12 @@
   typedef TransposeConvAttribute Table;
   flatbuffers::FlatBufferBuilder &fbb_;
   flatbuffers::uoffset_t start_;
-  void add_outpad(flatbuffers::Offset<flatbuffers::Vector<int32_t>> outpad) {
-    fbb_.AddOffset(TransposeConvAttribute::VT_OUTPAD, outpad);
+  void add_out_pad(flatbuffers::Offset<flatbuffers::Vector<int32_t>> out_pad) {
+    fbb_.AddOffset(TransposeConvAttribute::VT_OUT_PAD, out_pad);
   }
   void add_stride(flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride) {
     fbb_.AddOffset(TransposeConvAttribute::VT_STRIDE, stride);
   }
-  void add_dilation(flatbuffers::Offset<flatbuffers::Vector<int32_t>> dilation) {
-    fbb_.AddOffset(TransposeConvAttribute::VT_DILATION, dilation);
-  }
   void add_output_shape(flatbuffers::Offset<flatbuffers::Vector<int32_t>> output_shape) {
     fbb_.AddOffset(TransposeConvAttribute::VT_OUTPUT_SHAPE, output_shape);
   }
@@ -843,33 +834,28 @@
 
 inline flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttribute(
     flatbuffers::FlatBufferBuilder &_fbb,
-    flatbuffers::Offset<flatbuffers::Vector<int32_t>> outpad = 0,
+    flatbuffers::Offset<flatbuffers::Vector<int32_t>> out_pad = 0,
     flatbuffers::Offset<flatbuffers::Vector<int32_t>> stride = 0,
-    flatbuffers::Offset<flatbuffers::Vector<int32_t>> dilation = 0,
     flatbuffers::Offset<flatbuffers::Vector<int32_t>> output_shape = 0) {
   TransposeConvAttributeBuilder builder_(_fbb);
   builder_.add_output_shape(output_shape);
-  builder_.add_dilation(dilation);
   builder_.add_stride(stride);
-  builder_.add_outpad(outpad);
+  builder_.add_out_pad(out_pad);
   return builder_.Finish();
 }
 
 inline flatbuffers::Offset<TransposeConvAttribute> CreateTransposeConvAttributeDirect(
     flatbuffers::FlatBufferBuilder &_fbb,
-    const std::vector<int32_t> *outpad = nullptr,
+    const std::vector<int32_t> *out_pad = nullptr,
     const std::vector<int32_t> *stride = nullptr,
-    const std::vector<int32_t> *dilation = nullptr,
     const std::vector<int32_t> *output_shape = nullptr) {
-  auto outpad__ = outpad ? _fbb.CreateVector<int32_t>(*outpad) : 0;
+  auto out_pad__ = out_pad ? _fbb.CreateVector<int32_t>(*out_pad) : 0;
   auto stride__ = stride ? _fbb.CreateVector<int32_t>(*stride) : 0;
-  auto dilation__ = dilation ? _fbb.CreateVector<int32_t>(*dilation) : 0;
   auto output_shape__ = output_shape ? _fbb.CreateVector<int32_t>(*output_shape) : 0;
   return tosa::CreateTransposeConvAttribute(
       _fbb,
-      outpad__,
+      out_pad__,
       stride__,
-      dilation__,
       output_shape__);
 }
 
diff --git a/python/serializer/tosa_serializer.py b/python/serializer/tosa_serializer.py
index 929aebd..3582924 100644
--- a/python/serializer/tosa_serializer.py
+++ b/python/serializer/tosa_serializer.py
@@ -161,7 +161,7 @@
         self.intvecs.append((a.AddStride, stride))
         self.intvecs.append((a.AddDilation, dilation))
 
-    def TransposeConvAttribute(self, outpad, stride, dilation, output_shape):
+    def TransposeConvAttribute(self, outpad, stride, output_shape):
         from tosa import TransposeConvAttribute as a, Attribute
 
         self.utype = Attribute.Attribute().TransposeConvAttribute
@@ -169,7 +169,6 @@
 
         self.intvecs.append((a.AddOutpad, outpad))
         self.intvecs.append((a.AddStride, stride))
-        self.intvecs.append((a.AddDilation, dilation))
         self.intvecs.append((a.AddOutputShape, output_shape))
 
     def PadAttribute(self, padding, pad_const_int, pad_const_fp):
diff --git a/python/tosa/TransposeConvAttribute.py b/python/tosa/TransposeConvAttribute.py
index f8970b3..2a675a0 100644
--- a/python/tosa/TransposeConvAttribute.py
+++ b/python/tosa/TransposeConvAttribute.py
@@ -25,7 +25,7 @@
         self._tab = flatbuffers.table.Table(buf, pos)
 
     # TransposeConvAttribute
-    def Outpad(self, j):
+    def OutPad(self, j):
         o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
         if o != 0:
             a = self._tab.Vector(o)
@@ -33,21 +33,21 @@
         return 0
 
     # TransposeConvAttribute
-    def OutpadAsNumpy(self):
+    def OutPadAsNumpy(self):
         o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
         if o != 0:
             return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Int32Flags, o)
         return 0
 
     # TransposeConvAttribute
-    def OutpadLength(self):
+    def OutPadLength(self):
         o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
         if o != 0:
             return self._tab.VectorLen(o)
         return 0
 
     # TransposeConvAttribute
-    def OutpadIsNone(self):
+    def OutPadIsNone(self):
         o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
         return o == 0
 
@@ -79,35 +79,8 @@
         return o == 0
 
     # TransposeConvAttribute
-    def Dilation(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.Int32Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4))
-        return 0
-
-    # TransposeConvAttribute
-    def DilationAsNumpy(self):
-        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
-        if o != 0:
-            return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Int32Flags, o)
-        return 0
-
-    # TransposeConvAttribute
-    def DilationLength(self):
-        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
-        if o != 0:
-            return self._tab.VectorLen(o)
-        return 0
-
-    # TransposeConvAttribute
-    def DilationIsNone(self):
-        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
-        return o == 0
-
-    # TransposeConvAttribute
     def OutputShape(self, j):
-        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
+        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.Int32Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4))
@@ -115,30 +88,28 @@
 
     # TransposeConvAttribute
     def OutputShapeAsNumpy(self):
-        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
+        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
         if o != 0:
             return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Int32Flags, o)
         return 0
 
     # TransposeConvAttribute
     def OutputShapeLength(self):
-        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
+        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
         if o != 0:
             return self._tab.VectorLen(o)
         return 0
 
     # TransposeConvAttribute
     def OutputShapeIsNone(self):
-        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
+        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
         return o == 0
 
-def TransposeConvAttributeStart(builder): builder.StartObject(4)
-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 TransposeConvAttributeStart(builder): builder.StartObject(3)
+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 TransposeConvAttributeAddDilation(builder, dilation): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(dilation), 0)
-def TransposeConvAttributeStartDilationVector(builder, numElems): return builder.StartVector(4, numElems, 4)
-def TransposeConvAttributeAddOutputShape(builder, outputShape): builder.PrependUOffsetTRelativeSlot(3, flatbuffers.number_types.UOffsetTFlags.py_type(outputShape), 0)
+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 TransposeConvAttributeEnd(builder): return builder.EndObject()
diff --git a/schema/tosa.fbs b/schema/tosa.fbs
index b0b219f..7830bd2 100644
--- a/schema/tosa.fbs
+++ b/schema/tosa.fbs
@@ -172,9 +172,8 @@
 }
 
 table TransposeConvAttribute {
-  outpad: [int32];
+  out_pad: [int32];
   stride: [int32];
-  dilation: [int32];
   output_shape: [int32];
 }