From c6939a4d269968a34b0ae0aa579f0f0736aaeccc Mon Sep 17 00:00:00 2001 From: Tai Ly Date: Mon, 21 Aug 2023 17:00:29 +0000 Subject: Add is_unranked flag to Tensors This adds a bool field, is_unranked to TosaTensor in tosa.fbs to indicate whether a tensor with shape = {} is an unranked tensor or an 0-D tensor. For older tosa files without this field, the default value is false. Signed-off-by: Tai Ly Change-Id: I86950050b522565509863c483cd3a3c1c50f8f69 --- include/tosa_generated.h | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'include/tosa_generated.h') diff --git a/include/tosa_generated.h b/include/tosa_generated.h index b2805a8..2995c3a 100644 --- a/include/tosa_generated.h +++ b/include/tosa_generated.h @@ -2205,7 +2205,8 @@ struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { VT_SHAPE = 6, VT_TYPE = 8, VT_DATA = 10, - VT_VARIABLE = 12 + VT_VARIABLE = 12, + VT_IS_UNRANKED = 14 }; const ::flatbuffers::String *name() const { return GetPointer(VT_NAME); @@ -2222,6 +2223,9 @@ struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { bool variable() const { return GetField(VT_VARIABLE, 0) != 0; } + bool is_unranked() const { + return GetField(VT_IS_UNRANKED, 0) != 0; + } bool Verify(::flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_NAME) && @@ -2232,6 +2236,7 @@ struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { VerifyOffset(verifier, VT_DATA) && verifier.VerifyVector(data()) && VerifyField(verifier, VT_VARIABLE, 1) && + VerifyField(verifier, VT_IS_UNRANKED, 1) && verifier.EndTable(); } }; @@ -2255,6 +2260,9 @@ struct TosaTensorBuilder { void add_variable(bool variable) { fbb_.AddElement(TosaTensor::VT_VARIABLE, static_cast(variable), 0); } + void add_is_unranked(bool is_unranked) { + fbb_.AddElement(TosaTensor::VT_IS_UNRANKED, static_cast(is_unranked), 0); + } explicit TosaTensorBuilder(::flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); @@ -2272,12 +2280,14 @@ inline ::flatbuffers::Offset CreateTosaTensor( ::flatbuffers::Offset<::flatbuffers::Vector> shape = 0, tosa::DType type = tosa::DType_UNKNOWN, ::flatbuffers::Offset<::flatbuffers::Vector> data = 0, - bool variable = false) { + bool variable = false, + bool is_unranked = false) { TosaTensorBuilder builder_(_fbb); builder_.add_data(data); builder_.add_type(type); builder_.add_shape(shape); builder_.add_name(name); + builder_.add_is_unranked(is_unranked); builder_.add_variable(variable); return builder_.Finish(); } @@ -2288,7 +2298,8 @@ inline ::flatbuffers::Offset CreateTosaTensorDirect( const std::vector *shape = nullptr, tosa::DType type = tosa::DType_UNKNOWN, const std::vector *data = nullptr, - bool variable = false) { + bool variable = false, + bool is_unranked = false) { auto name__ = name ? _fbb.CreateString(name) : 0; auto shape__ = shape ? _fbb.CreateVector(*shape) : 0; if (data) { _fbb.ForceVectorAlignment(data->size(), sizeof(uint8_t), 8); } @@ -2299,7 +2310,8 @@ inline ::flatbuffers::Offset CreateTosaTensorDirect( shape__, type, data__, - variable); + variable, + is_unranked); } struct TosaOperator FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { -- cgit v1.2.1