From c15f7d52aa4f360eba2344449baa418b7608ac7c Mon Sep 17 00:00:00 2001 From: James Ward Date: Wed, 7 Dec 2022 15:38:01 +0000 Subject: Schema changes for CLAMP, PAD float attributes * Float attributes now serialized as uint8 vectors, but treated as floats at input/output to serialization Signed-off-by: James Ward Change-Id: I417b0fabe0ef11fea263fe937b57d49bbfdb00da --- python/serializer/tosa_serializer.py | 38 +++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) (limited to 'python/serializer/tosa_serializer.py') diff --git a/python/serializer/tosa_serializer.py b/python/serializer/tosa_serializer.py index e8311ce..f579df2 100644 --- a/python/serializer/tosa_serializer.py +++ b/python/serializer/tosa_serializer.py @@ -13,10 +13,11 @@ # limitations under the License. import os +import struct +import serializer.tosa_serializer as ts import json import flatbuffers import numpy as np -import struct from enum import IntEnum, unique from tosa import ( TosaGraph, @@ -197,7 +198,7 @@ class TosaSerializerAttribute(TosaSerializerUnion): self.ints.append((a.AddWeightZp, weight_zp)) self.ints.append((a.AddAccumDtype, accum_dtype)) - def PadAttribute(self, padding, pad_const_int, pad_const_fp): + def PadAttribute(self, serializer_builder, padding, pad_const_int, pad_const_fp): from tosa import PadAttribute as a, Attribute self.utype = Attribute.Attribute().PadAttribute @@ -205,7 +206,14 @@ class TosaSerializerAttribute(TosaSerializerUnion): self.intvecs.append((a.AddPadding, padding)) self.ints.append((a.AddPadConstInt, pad_const_int)) - self.floats.append((a.AddPadConstFp, pad_const_fp)) + + # pad_const_fp attribute serialized as uint8 vector + pad_const_float_as_bytes = struct.pack("