From a9fba260ec050794bd24e968c3dbd4e202b9d643 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Alfv=C3=A9n?= Date: Tue, 19 Jul 2022 12:26:32 +0200 Subject: MLBEDSW-6710: Revert Tensorflow 2.9 Tensorflow 2.9 contains a bug for int16x8 without biases. Revert "MLBEDSW-6635: Update to TensorFlow 2.9" This reverts commit 93f492bae9c4dd16a1f64b851b237263695ee03e. Signed-off-by: Johan Alfven Change-Id: I366d201ce4134a877d333be2aade546dfcb5d6d7 --- ethosu/vela/tflite/Operator.py | 117 +++++++++++++++++++++++++++++++++++------ 1 file changed, 100 insertions(+), 17 deletions(-) (limited to 'ethosu/vela/tflite/Operator.py') diff --git a/ethosu/vela/tflite/Operator.py b/ethosu/vela/tflite/Operator.py index cbae3dab..ce23bedc 100644 --- a/ethosu/vela/tflite/Operator.py +++ b/ethosu/vela/tflite/Operator.py @@ -3,17 +3,27 @@ # namespace: tflite import flatbuffers +from flatbuffers.compat import import_numpy +np = import_numpy() class Operator(object): __slots__ = ['_tab'] @classmethod - def GetRootAsOperator(cls, buf, offset): + def GetRootAs(cls, buf, offset=0): n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) x = Operator() x.Init(buf, n + offset) return x + @classmethod + def GetRootAsOperator(cls, buf, offset=0): + """This method is deprecated. Please switch to GetRootAs.""" + return cls.GetRootAs(buf, offset) + @classmethod + def OperatorBufferHasIdentifier(cls, buf, offset, size_prefixed=False): + return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x46\x4C\x33", size_prefixed=size_prefixed) + # Operator def Init(self, buf, pos): self._tab = flatbuffers.table.Table(buf, pos) @@ -47,6 +57,11 @@ class Operator(object): return self._tab.VectorLen(o) return 0 + # Operator + def InputsIsNone(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) + return o == 0 + # Operator def Outputs(self, j): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) @@ -69,6 +84,11 @@ class Operator(object): return self._tab.VectorLen(o) return 0 + # Operator + def OutputsIsNone(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) + return o == 0 + # Operator def BuiltinOptionsType(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10)) @@ -108,6 +128,11 @@ class Operator(object): return self._tab.VectorLen(o) return 0 + # Operator + def CustomOptionsIsNone(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(14)) + return o == 0 + # Operator def CustomOptionsFormat(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16)) @@ -137,6 +162,11 @@ class Operator(object): return self._tab.VectorLen(o) return 0 + # Operator + def MutatingVariableInputsIsNone(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(18)) + return o == 0 + # Operator def Intermediates(self, j): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20)) @@ -159,19 +189,72 @@ class Operator(object): return self._tab.VectorLen(o) return 0 -def OperatorStart(builder): builder.StartObject(9) -def OperatorAddOpcodeIndex(builder, opcodeIndex): builder.PrependUint32Slot(0, opcodeIndex, 0) -def OperatorAddInputs(builder, inputs): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(inputs), 0) -def OperatorStartInputsVector(builder, numElems): return builder.StartVector(4, numElems, 4) -def OperatorAddOutputs(builder, outputs): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(outputs), 0) -def OperatorStartOutputsVector(builder, numElems): return builder.StartVector(4, numElems, 4) -def OperatorAddBuiltinOptionsType(builder, builtinOptionsType): builder.PrependUint8Slot(3, builtinOptionsType, 0) -def OperatorAddBuiltinOptions(builder, builtinOptions): builder.PrependUOffsetTRelativeSlot(4, flatbuffers.number_types.UOffsetTFlags.py_type(builtinOptions), 0) -def OperatorAddCustomOptions(builder, customOptions): builder.PrependUOffsetTRelativeSlot(5, flatbuffers.number_types.UOffsetTFlags.py_type(customOptions), 0) -def OperatorStartCustomOptionsVector(builder, numElems): return builder.StartVector(1, numElems, 1) -def OperatorAddCustomOptionsFormat(builder, customOptionsFormat): builder.PrependInt8Slot(6, customOptionsFormat, 0) -def OperatorAddMutatingVariableInputs(builder, mutatingVariableInputs): builder.PrependUOffsetTRelativeSlot(7, flatbuffers.number_types.UOffsetTFlags.py_type(mutatingVariableInputs), 0) -def OperatorStartMutatingVariableInputsVector(builder, numElems): return builder.StartVector(1, numElems, 1) -def OperatorAddIntermediates(builder, intermediates): builder.PrependUOffsetTRelativeSlot(8, flatbuffers.number_types.UOffsetTFlags.py_type(intermediates), 0) -def OperatorStartIntermediatesVector(builder, numElems): return builder.StartVector(4, numElems, 4) -def OperatorEnd(builder): return builder.EndObject() + # Operator + def IntermediatesIsNone(self): + o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20)) + return o == 0 + +def Start(builder): builder.StartObject(9) +def OperatorStart(builder): + """This method is deprecated. Please switch to Start.""" + return Start(builder) +def AddOpcodeIndex(builder, opcodeIndex): builder.PrependUint32Slot(0, opcodeIndex, 0) +def OperatorAddOpcodeIndex(builder, opcodeIndex): + """This method is deprecated. Please switch to AddOpcodeIndex.""" + return AddOpcodeIndex(builder, opcodeIndex) +def AddInputs(builder, inputs): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(inputs), 0) +def OperatorAddInputs(builder, inputs): + """This method is deprecated. Please switch to AddInputs.""" + return AddInputs(builder, inputs) +def StartInputsVector(builder, numElems): return builder.StartVector(4, numElems, 4) +def OperatorStartInputsVector(builder, numElems): + """This method is deprecated. Please switch to Start.""" + return StartInputsVector(builder, numElems) +def AddOutputs(builder, outputs): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(outputs), 0) +def OperatorAddOutputs(builder, outputs): + """This method is deprecated. Please switch to AddOutputs.""" + return AddOutputs(builder, outputs) +def StartOutputsVector(builder, numElems): return builder.StartVector(4, numElems, 4) +def OperatorStartOutputsVector(builder, numElems): + """This method is deprecated. Please switch to Start.""" + return StartOutputsVector(builder, numElems) +def AddBuiltinOptionsType(builder, builtinOptionsType): builder.PrependUint8Slot(3, builtinOptionsType, 0) +def OperatorAddBuiltinOptionsType(builder, builtinOptionsType): + """This method is deprecated. Please switch to AddBuiltinOptionsType.""" + return AddBuiltinOptionsType(builder, builtinOptionsType) +def AddBuiltinOptions(builder, builtinOptions): builder.PrependUOffsetTRelativeSlot(4, flatbuffers.number_types.UOffsetTFlags.py_type(builtinOptions), 0) +def OperatorAddBuiltinOptions(builder, builtinOptions): + """This method is deprecated. Please switch to AddBuiltinOptions.""" + return AddBuiltinOptions(builder, builtinOptions) +def AddCustomOptions(builder, customOptions): builder.PrependUOffsetTRelativeSlot(5, flatbuffers.number_types.UOffsetTFlags.py_type(customOptions), 0) +def OperatorAddCustomOptions(builder, customOptions): + """This method is deprecated. Please switch to AddCustomOptions.""" + return AddCustomOptions(builder, customOptions) +def StartCustomOptionsVector(builder, numElems): return builder.StartVector(1, numElems, 1) +def OperatorStartCustomOptionsVector(builder, numElems): + """This method is deprecated. Please switch to Start.""" + return StartCustomOptionsVector(builder, numElems) +def AddCustomOptionsFormat(builder, customOptionsFormat): builder.PrependInt8Slot(6, customOptionsFormat, 0) +def OperatorAddCustomOptionsFormat(builder, customOptionsFormat): + """This method is deprecated. Please switch to AddCustomOptionsFormat.""" + return AddCustomOptionsFormat(builder, customOptionsFormat) +def AddMutatingVariableInputs(builder, mutatingVariableInputs): builder.PrependUOffsetTRelativeSlot(7, flatbuffers.number_types.UOffsetTFlags.py_type(mutatingVariableInputs), 0) +def OperatorAddMutatingVariableInputs(builder, mutatingVariableInputs): + """This method is deprecated. Please switch to AddMutatingVariableInputs.""" + return AddMutatingVariableInputs(builder, mutatingVariableInputs) +def StartMutatingVariableInputsVector(builder, numElems): return builder.StartVector(1, numElems, 1) +def OperatorStartMutatingVariableInputsVector(builder, numElems): + """This method is deprecated. Please switch to Start.""" + return StartMutatingVariableInputsVector(builder, numElems) +def AddIntermediates(builder, intermediates): builder.PrependUOffsetTRelativeSlot(8, flatbuffers.number_types.UOffsetTFlags.py_type(intermediates), 0) +def OperatorAddIntermediates(builder, intermediates): + """This method is deprecated. Please switch to AddIntermediates.""" + return AddIntermediates(builder, intermediates) +def StartIntermediatesVector(builder, numElems): return builder.StartVector(4, numElems, 4) +def OperatorStartIntermediatesVector(builder, numElems): + """This method is deprecated. Please switch to Start.""" + return StartIntermediatesVector(builder, numElems) +def End(builder): return builder.EndObject() +def OperatorEnd(builder): + """This method is deprecated. Please switch to End.""" + return End(builder) \ No newline at end of file -- cgit v1.2.1