1# automatically generated by the FlatBuffers compiler, do not modify
2
3# namespace: MNN
4
5import flatbuffers
6
7class Convolution2DCommon(object):
8    __slots__ = ['_tab']
9
10    @classmethod
11    def GetRootAsConvolution2DCommon(cls, buf, offset):
12        n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
13        x = Convolution2DCommon()
14        x.Init(buf, n + offset)
15        return x
16
17    # Convolution2DCommon
18    def Init(self, buf, pos):
19        self._tab = flatbuffers.table.Table(buf, pos)
20
21    # Convolution2DCommon
22    def PadX(self):
23        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
24        if o != 0:
25            return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
26        return 0
27
28    # Convolution2DCommon
29    def PadY(self):
30        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
31        if o != 0:
32            return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
33        return 0
34
35    # Convolution2DCommon
36    def KernelX(self):
37        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
38        if o != 0:
39            return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
40        return 1
41
42    # Convolution2DCommon
43    def KernelY(self):
44        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
45        if o != 0:
46            return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
47        return 1
48
49    # Convolution2DCommon
50    def StrideX(self):
51        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
52        if o != 0:
53            return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
54        return 1
55
56    # Convolution2DCommon
57    def StrideY(self):
58        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(14))
59        if o != 0:
60            return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
61        return 1
62
63    # Convolution2DCommon
64    def DilateX(self):
65        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16))
66        if o != 0:
67            return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
68        return 1
69
70    # Convolution2DCommon
71    def DilateY(self):
72        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(18))
73        if o != 0:
74            return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
75        return 1
76
77    # Convolution2DCommon
78    def PadMode(self):
79        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20))
80        if o != 0:
81            return self._tab.Get(flatbuffers.number_types.Int8Flags, o + self._tab.Pos)
82        return 0
83
84    # Convolution2DCommon
85    def Group(self):
86        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(22))
87        if o != 0:
88            return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
89        return 1
90
91    # Convolution2DCommon
92    def OutputCount(self):
93        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(24))
94        if o != 0:
95            return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
96        return 0
97
98    # Convolution2DCommon
99    def InputCount(self):
100        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(26))
101        if o != 0:
102            return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
103        return 0
104
105    # Convolution2DCommon
106    def Relu(self):
107        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(28))
108        if o != 0:
109            return bool(self._tab.Get(flatbuffers.number_types.BoolFlags, o + self._tab.Pos))
110        return False
111
112    # Convolution2DCommon
113    def Relu6(self):
114        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(30))
115        if o != 0:
116            return bool(self._tab.Get(flatbuffers.number_types.BoolFlags, o + self._tab.Pos))
117        return False
118
119    # Convolution2DCommon
120    def Pads(self, j):
121        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(32))
122        if o != 0:
123            a = self._tab.Vector(o)
124            return self._tab.Get(flatbuffers.number_types.Int32Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4))
125        return 0
126
127    # Convolution2DCommon
128    def PadsAsNumpy(self):
129        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(32))
130        if o != 0:
131            return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Int32Flags, o)
132        return 0
133
134    # Convolution2DCommon
135    def PadsLength(self):
136        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(32))
137        if o != 0:
138            return self._tab.VectorLen(o)
139        return 0
140
141def Convolution2DCommonStart(builder): builder.StartObject(15)
142def Convolution2DCommonAddPadX(builder, padX): builder.PrependInt32Slot(0, padX, 0)
143def Convolution2DCommonAddPadY(builder, padY): builder.PrependInt32Slot(1, padY, 0)
144def Convolution2DCommonAddKernelX(builder, kernelX): builder.PrependInt32Slot(2, kernelX, 1)
145def Convolution2DCommonAddKernelY(builder, kernelY): builder.PrependInt32Slot(3, kernelY, 1)
146def Convolution2DCommonAddStrideX(builder, strideX): builder.PrependInt32Slot(4, strideX, 1)
147def Convolution2DCommonAddStrideY(builder, strideY): builder.PrependInt32Slot(5, strideY, 1)
148def Convolution2DCommonAddDilateX(builder, dilateX): builder.PrependInt32Slot(6, dilateX, 1)
149def Convolution2DCommonAddDilateY(builder, dilateY): builder.PrependInt32Slot(7, dilateY, 1)
150def Convolution2DCommonAddPadMode(builder, padMode): builder.PrependInt8Slot(8, padMode, 0)
151def Convolution2DCommonAddGroup(builder, group): builder.PrependInt32Slot(9, group, 1)
152def Convolution2DCommonAddOutputCount(builder, outputCount): builder.PrependInt32Slot(10, outputCount, 0)
153def Convolution2DCommonAddInputCount(builder, inputCount): builder.PrependInt32Slot(11, inputCount, 0)
154def Convolution2DCommonAddRelu(builder, relu): builder.PrependBoolSlot(12, relu, 0)
155def Convolution2DCommonAddRelu6(builder, relu6): builder.PrependBoolSlot(13, relu6, 0)
156def Convolution2DCommonAddPads(builder, pads): builder.PrependUOffsetTRelativeSlot(14, flatbuffers.number_types.UOffsetTFlags.py_type(pads), 0)
157def Convolution2DCommonStartPadsVector(builder, numElems): return builder.StartVector(4, numElems, 4)
158def Convolution2DCommonEnd(builder): return builder.EndObject()
159