From 38d214cfa4491f1956f28d7eff428a8ed07d824c Mon Sep 17 00:00:00 2001 From: Kevin Cheng Date: Fri, 15 Oct 2021 15:49:19 -0700 Subject: Changes for 0.23.0 release - Remove RELUN op - Add pad_const to PAD op - Make padding as an attribute of PAD op - Make perm as an attribute of TRANSPOSE op - Make table as attribute in Table op - Fix typo in operator.def Signed-off-by: Kevin Cheng Change-Id: Ifcaa4ad686578cf814345ede8e7f37f0a04fd8ea --- python/tosa/Attribute.py | 4 +- python/tosa/Op.py | 2 +- python/tosa/PadAttribute.py | 88 +++++++++++++++++++++++++++++++++++++++ python/tosa/ReluNAttribute.py | 59 -------------------------- python/tosa/TableAttribute.py | 72 ++++++++++++++++++++++++++++++++ python/tosa/TransposeAttribute.py | 72 ++++++++++++++++++++++++++++++++ 6 files changed, 236 insertions(+), 61 deletions(-) create mode 100644 python/tosa/PadAttribute.py delete mode 100644 python/tosa/ReluNAttribute.py create mode 100644 python/tosa/TableAttribute.py create mode 100644 python/tosa/TransposeAttribute.py (limited to 'python/tosa') diff --git a/python/tosa/Attribute.py b/python/tosa/Attribute.py index 334b4ae..478796f 100644 --- a/python/tosa/Attribute.py +++ b/python/tosa/Attribute.py @@ -22,7 +22,7 @@ class Attribute(object): PoolAttribute = 1 ConvAttribute = 2 TransposeConvAttribute = 3 - ReluNAttribute = 4 + PadAttribute = 4 AxisAttribute = 5 ReshapeAttribute = 6 SliceAttribute = 7 @@ -34,4 +34,6 @@ class Attribute(object): ArithmeticRightShiftAttribute = 13 CondIfAttribute = 14 WhileLoopAttribute = 15 + TransposeAttribute = 16 + TableAttribute = 17 diff --git a/python/tosa/Op.py b/python/tosa/Op.py index 0c29224..a3de87d 100644 --- a/python/tosa/Op.py +++ b/python/tosa/Op.py @@ -29,7 +29,7 @@ class Op(object): MAX_POOL2D = 8 TRANSPOSE_CONV2D = 9 CLAMP = 10 - RELUN = 11 + RESERVED = 11 SIGMOID = 12 TANH = 13 ADD = 14 diff --git a/python/tosa/PadAttribute.py b/python/tosa/PadAttribute.py new file mode 100644 index 0000000..64dc4c7 --- /dev/null +++ b/python/tosa/PadAttribute.py @@ -0,0 +1,88 @@ +# automatically generated by the FlatBuffers compiler, do not modify + +# Copyright (c) 2020-2021, ARM Limited. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# namespace: tosa + +import flatbuffers +from flatbuffers.compat import import_numpy +np = import_numpy() + +class PadAttribute(object): + __slots__ = ['_tab'] + + @classmethod + def GetRootAsPadAttribute(cls, buf, offset): + n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) + x = PadAttribute() + x.Init(buf, n + offset) + return x + + @classmethod + def PadAttributeBufferHasIdentifier(cls, buf, offset, size_prefixed=False): + return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x4F\x53\x41", size_prefixed=size_prefixed) + + # PadAttribute + def Init(self, buf, pos): + self._tab = flatbuffers.table.Table(buf, pos) + + # PadAttribute + def Padding(self, j): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) + 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 + + # PadAttribute + def PaddingAsNumpy(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 + + # PadAttribute + def PaddingLength(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) + if o != 0: + return self._tab.VectorLen(o) + return 0 + + # PadAttribute + def PaddingIsNone(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) + return o == 0 + + # PadAttribute + def PadConstInt(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 + + # PadAttribute + def PadConstFp(self): + 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 + +def PadAttributeStart(builder): builder.StartObject(3) +def PadAttributeAddPadding(builder, padding): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(padding), 0) +def PadAttributeStartPaddingVector(builder, numElems): return builder.StartVector(4, numElems, 4) +def PadAttributeAddPadConstInt(builder, padConstInt): builder.PrependInt32Slot(1, padConstInt, 0) +def PadAttributeAddPadConstFp(builder, padConstFp): builder.PrependFloat32Slot(2, padConstFp, 0.0) +def PadAttributeEnd(builder): return builder.EndObject() diff --git a/python/tosa/ReluNAttribute.py b/python/tosa/ReluNAttribute.py deleted file mode 100644 index b96d701..0000000 --- a/python/tosa/ReluNAttribute.py +++ /dev/null @@ -1,59 +0,0 @@ -# automatically generated by the FlatBuffers compiler, do not modify - -# Copyright (c) 2020-2021, ARM Limited. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -# namespace: tosa - -import flatbuffers -from flatbuffers.compat import import_numpy -np = import_numpy() - -class ReluNAttribute(object): - __slots__ = ['_tab'] - - @classmethod - def GetRootAsReluNAttribute(cls, buf, offset): - n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) - x = ReluNAttribute() - x.Init(buf, n + offset) - return x - - @classmethod - def ReluNAttributeBufferHasIdentifier(cls, buf, offset, size_prefixed=False): - return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x4F\x53\x41", size_prefixed=size_prefixed) - - # ReluNAttribute - def Init(self, buf, pos): - self._tab = flatbuffers.table.Table(buf, pos) - - # ReluNAttribute - def MaxInt(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 - - # ReluNAttribute - def MaxFp(self): - o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) - if o != 0: - return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos) - return 0.0 - -def ReluNAttributeStart(builder): builder.StartObject(2) -def ReluNAttributeAddMaxInt(builder, maxInt): builder.PrependInt32Slot(0, maxInt, 0) -def ReluNAttributeAddMaxFp(builder, maxFp): builder.PrependFloat32Slot(1, maxFp, 0.0) -def ReluNAttributeEnd(builder): return builder.EndObject() diff --git a/python/tosa/TableAttribute.py b/python/tosa/TableAttribute.py new file mode 100644 index 0000000..8cdbb65 --- /dev/null +++ b/python/tosa/TableAttribute.py @@ -0,0 +1,72 @@ +# automatically generated by the FlatBuffers compiler, do not modify + +# Copyright (c) 2020-2021, ARM Limited. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# namespace: tosa + +import flatbuffers +from flatbuffers.compat import import_numpy +np = import_numpy() + +class TableAttribute(object): + __slots__ = ['_tab'] + + @classmethod + def GetRootAsTableAttribute(cls, buf, offset): + n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) + x = TableAttribute() + x.Init(buf, n + offset) + return x + + @classmethod + def TableAttributeBufferHasIdentifier(cls, buf, offset, size_prefixed=False): + return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x4F\x53\x41", size_prefixed=size_prefixed) + + # TableAttribute + def Init(self, buf, pos): + self._tab = flatbuffers.table.Table(buf, pos) + + # TableAttribute + def Table(self, j): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) + 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 + + # TableAttribute + def TableAsNumpy(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 + + # TableAttribute + def TableLength(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) + if o != 0: + return self._tab.VectorLen(o) + return 0 + + # TableAttribute + def TableIsNone(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) + return o == 0 + +def TableAttributeStart(builder): builder.StartObject(1) +def TableAttributeAddTable(builder, table): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(table), 0) +def TableAttributeStartTableVector(builder, numElems): return builder.StartVector(4, numElems, 4) +def TableAttributeEnd(builder): return builder.EndObject() diff --git a/python/tosa/TransposeAttribute.py b/python/tosa/TransposeAttribute.py new file mode 100644 index 0000000..399a308 --- /dev/null +++ b/python/tosa/TransposeAttribute.py @@ -0,0 +1,72 @@ +# automatically generated by the FlatBuffers compiler, do not modify + +# Copyright (c) 2020-2021, ARM Limited. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# namespace: tosa + +import flatbuffers +from flatbuffers.compat import import_numpy +np = import_numpy() + +class TransposeAttribute(object): + __slots__ = ['_tab'] + + @classmethod + def GetRootAsTransposeAttribute(cls, buf, offset): + n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) + x = TransposeAttribute() + x.Init(buf, n + offset) + return x + + @classmethod + def TransposeAttributeBufferHasIdentifier(cls, buf, offset, size_prefixed=False): + return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x4F\x53\x41", size_prefixed=size_prefixed) + + # TransposeAttribute + def Init(self, buf, pos): + self._tab = flatbuffers.table.Table(buf, pos) + + # TransposeAttribute + def Perm(self, j): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) + 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 + + # TransposeAttribute + def PermAsNumpy(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 + + # TransposeAttribute + def PermLength(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) + if o != 0: + return self._tab.VectorLen(o) + return 0 + + # TransposeAttribute + def PermIsNone(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) + return o == 0 + +def TransposeAttributeStart(builder): builder.StartObject(1) +def TransposeAttributeAddPerm(builder, perm): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(perm), 0) +def TransposeAttributeStartPermVector(builder, numElems): return builder.StartVector(4, numElems, 4) +def TransposeAttributeEnd(builder): return builder.EndObject() -- cgit v1.2.1