From 442261bf67fa2ec4d86ed3e431a6373787b3e35a Mon Sep 17 00:00:00 2001 From: Jerry Ge Date: Fri, 9 Sep 2022 13:38:56 -0700 Subject: [Serialization_lib] Support StatefulOps for TOSA - Add variable in TosaTensor to schema file - Update TosaSerializationTensor regarding variable change - Rename internal zero_pad() and expose interface as ForceAlignTensorData() Signed-off-by: Jerry Ge Change-Id: I36fa64eb0802cb5b8d3564ea7233460ef8c9f539 --- include/tosa_serialization_handler.h | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'include/tosa_serialization_handler.h') diff --git a/include/tosa_serialization_handler.h b/include/tosa_serialization_handler.h index cae6a27..bf44c11 100644 --- a/include/tosa_serialization_handler.h +++ b/include/tosa_serialization_handler.h @@ -1,5 +1,5 @@ -// Copyright (c) 2020-2021, ARM Limited. +// Copyright (c) 2020-2023, ARM Limited. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -112,11 +112,13 @@ public: TosaSerializationTensor(const flatbuffers::String* name, const flatbuffers::Vector* shape, DType dtype, - const flatbuffers::Vector* data); + const flatbuffers::Vector* data, + bool variable = false); TosaSerializationTensor(const std::string& name, const std::vector& shape, DType dtype, - const std::vector& data); + const std::vector& data, + bool variable = false); TosaSerializationTensor(); ~TosaSerializationTensor(); @@ -129,10 +131,14 @@ public: { return _shape; } - DType GetDtype() + DType GetDtype() const { return _dtype; } + bool GetVariable() const + { + return _variable; + } const std::vector& GetData() const { return _data; @@ -169,6 +175,7 @@ private: DType _dtype; /* data type enumeration, see tosa_isa_generated.h */ std::vector _shape; /* shape of the tensor */ std::string _name; /* name of the tensor, used for solving dependency */ + bool _variable; /* is this a variable tensor */ std::vector _data; /* data array */ }; @@ -368,6 +375,8 @@ public: static tosa_err_t ConvertU8toI4(const std::vector& in, uint32_t out_size, std::vector& out); static tosa_err_t ConvertU8toBool(const std::vector& in, uint32_t out_size, std::vector& out); + static void ForceAlignTensorData(std::vector& buf); + // version const TosaVersion& GetVersion() { -- cgit v1.2.1