From 49b1ca63975d4f1865ca312ed9c9b5e0008e13e0 Mon Sep 17 00:00:00 2001 From: TatWai Chong Date: Fri, 10 Jun 2022 01:49:13 -0700 Subject: Update TOSA resize to match specification Attribute stride and shift are removed, and has new scale and border. For serializing int16 attributes, add a new member vector container and a building function to do so. Signed-off-by: TatWai Chong Change-Id: I6d101a37d294dcf0a4d5bbb6c64bfa3c49a98f9e --- python/serializer/tosa_serializer.py | 48 ++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'python/serializer') diff --git a/python/serializer/tosa_serializer.py b/python/serializer/tosa_serializer.py index ec1c12d..27189ec 100644 --- a/python/serializer/tosa_serializer.py +++ b/python/serializer/tosa_serializer.py @@ -90,6 +90,7 @@ class TosaSerializerUnion: self.bools = [] self.floats = [] self.strings = [] + self.int16vecs = [] self.intvecs = [] self.fpvecs = [] @@ -106,6 +107,9 @@ class TosaSerializerUnion: for fcn, val in self.intvecs: intVecList.append((fcn, TosaSerializer.serializeInt32Vec(builder, val))) + for fcn, val in self.int16vecs: + intVecList.append((fcn, TosaSerializer.serializeInt16Vec(builder, val))) + for fcn, val in self.fpvecs: fpVecList.append((fcn, TosaSerializer.serializeFpVec(builder, val))) @@ -220,20 +224,15 @@ class TosaSerializerAttribute(TosaSerializerUnion): self.intvecs.append((a.AddMultiples, multiples)) - def ResizeAttribute( - self, output_size, stride, offset, shift, stride_fp, offset_fp, mode - ): + def ResizeAttribute(self, scale, offset, border, mode): from tosa import ResizeAttribute as a, Attribute self.utype = Attribute.Attribute().ResizeAttribute self.optFcns = (a.Start, a.End) - self.intvecs.append((a.AddOutputSize, output_size)) - self.intvecs.append((a.AddStride, stride)) - self.intvecs.append((a.AddOffset, offset)) - self.ints.append((a.AddShift, shift)) - self.fpvecs.append((a.AddStrideFp, stride_fp)) - self.fpvecs.append((a.AddOffsetFp, offset_fp)) + self.int16vecs.append((a.AddScale, scale)) + self.int16vecs.append((a.AddOffset, offset)) + self.int16vecs.append((a.AddBorder, border)) self.ints.append((a.AddMode, mode)) def ClampAttribute(self, minint, maxint, minfp, maxfp): @@ -756,6 +755,16 @@ class TosaSerializer: except TypeError: return builder.EndVector(len(vec)) + @staticmethod + def serializeInt16Vec(builder, vec): + builder.StartVector(2, len(vec), 4) + for v in vec[::-1]: + builder.PrependInt16(v) + try: + return builder.EndVector() + except TypeError: + return builder.EndVector(len(vec)) + @staticmethod def serializeInt32Vec(builder, vec): builder.StartVector(4, len(vec), 4) @@ -963,26 +972,17 @@ class TosaSerializer: if not hasattr(ResizeAttribute, "Start"): ResizeAttribute.Start = ResizeAttribute.ResizeAttributeStart - ResizeAttribute.AddOutputSize = ResizeAttribute.ResizeAttributeAddOutputSize - ResizeAttribute.StartOutputSizeVector = ( - ResizeAttribute.ResizeAttributeStartOutputSizeVector - ) - ResizeAttribute.AddStride = ResizeAttribute.ResizeAttributeAddStride - ResizeAttribute.StartStrideVector = ( - ResizeAttribute.ResizeAttributeStartStrideVector + ResizeAttribute.AddScale = ResizeAttribute.ResizeAttributeAddScale + ResizeAttribute.StartScaleVector = ( + ResizeAttribute.ResizeAttributeStartScaleVector ) ResizeAttribute.AddOffset = ResizeAttribute.ResizeAttributeAddOffset ResizeAttribute.StartOffsetVector = ( ResizeAttribute.ResizeAttributeStartOffsetVector ) - ResizeAttribute.AddShift = ResizeAttribute.ResizeAttributeAddShift - ResizeAttribute.AddStrideFp = ResizeAttribute.ResizeAttributeAddStrideFp - ResizeAttribute.StartStrideFpVector = ( - ResizeAttribute.ResizeAttributeStartStrideFpVector - ) - ResizeAttribute.AddOffsetFp = ResizeAttribute.ResizeAttributeAddOffsetFp - ResizeAttribute.StartOffsetFpVector = ( - ResizeAttribute.ResizeAttributeStartOffsetFpVector + ResizeAttribute.AddBorder = ResizeAttribute.ResizeAttributeAddBorder + ResizeAttribute.StartBorderVector = ( + ResizeAttribute.ResizeAttributeStartBorderVector ) ResizeAttribute.AddMode = ResizeAttribute.ResizeAttributeAddMode ResizeAttribute.End = ResizeAttribute.ResizeAttributeEnd -- cgit v1.2.1