diff options
author | Tai Ly <tai.ly@arm.com> | 2023-09-19 21:30:18 +0000 |
---|---|---|
committer | Tai Ly <tai.ly@arm.com> | 2023-09-19 21:55:11 +0000 |
commit | d0520b9b3a0eaf9dadc6cdb57ed42906e577d32e (patch) | |
tree | 1538ac688cbafa4e8e08b7aabe3e10bbe404c767 /include | |
parent | 924f3094a745c1955d51fce18b488adfed5ee76b (diff) | |
download | serialization_lib-d0520b9b3a0eaf9dadc6cdb57ed42906e577d32e.tar.gz |
Add variable_name to tensors
Signed-off-by: Tai Ly <tai.ly@arm.com>
Change-Id: Ia142c8b1a9e0869daefb3eef71100fd0c2a0effc
Diffstat (limited to 'include')
-rw-r--r-- | include/tosa_generated.h | 22 | ||||
-rw-r--r-- | include/tosa_serialization_handler.h | 15 |
2 files changed, 29 insertions, 8 deletions
diff --git a/include/tosa_generated.h b/include/tosa_generated.h index b07fa8f..a81ff9c 100644 --- a/include/tosa_generated.h +++ b/include/tosa_generated.h @@ -2230,7 +2230,8 @@ struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { VT_TYPE = 8, VT_DATA = 10, VT_VARIABLE = 12, - VT_IS_UNRANKED = 14 + VT_IS_UNRANKED = 14, + VT_VARIABLE_NAME = 16 }; const ::flatbuffers::String *name() const { return GetPointer<const ::flatbuffers::String *>(VT_NAME); @@ -2250,6 +2251,9 @@ struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { bool is_unranked() const { return GetField<uint8_t>(VT_IS_UNRANKED, 0) != 0; } + const ::flatbuffers::String *variable_name() const { + return GetPointer<const ::flatbuffers::String *>(VT_VARIABLE_NAME); + } bool Verify(::flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_NAME) && @@ -2261,6 +2265,8 @@ struct TosaTensor FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { verifier.VerifyVector(data()) && VerifyField<uint8_t>(verifier, VT_VARIABLE, 1) && VerifyField<uint8_t>(verifier, VT_IS_UNRANKED, 1) && + VerifyOffset(verifier, VT_VARIABLE_NAME) && + verifier.VerifyString(variable_name()) && verifier.EndTable(); } }; @@ -2287,6 +2293,9 @@ struct TosaTensorBuilder { void add_is_unranked(bool is_unranked) { fbb_.AddElement<uint8_t>(TosaTensor::VT_IS_UNRANKED, static_cast<uint8_t>(is_unranked), 0); } + void add_variable_name(::flatbuffers::Offset<::flatbuffers::String> variable_name) { + fbb_.AddOffset(TosaTensor::VT_VARIABLE_NAME, variable_name); + } explicit TosaTensorBuilder(::flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); @@ -2305,8 +2314,10 @@ inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensor( tosa::DType type = tosa::DType_UNKNOWN, ::flatbuffers::Offset<::flatbuffers::Vector<uint8_t>> data = 0, bool variable = false, - bool is_unranked = false) { + bool is_unranked = false, + ::flatbuffers::Offset<::flatbuffers::String> variable_name = 0) { TosaTensorBuilder builder_(_fbb); + builder_.add_variable_name(variable_name); builder_.add_data(data); builder_.add_type(type); builder_.add_shape(shape); @@ -2323,11 +2334,13 @@ inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensorDirect( tosa::DType type = tosa::DType_UNKNOWN, const std::vector<uint8_t> *data = nullptr, bool variable = false, - bool is_unranked = false) { + bool is_unranked = false, + const char *variable_name = nullptr) { auto name__ = name ? _fbb.CreateString(name) : 0; auto shape__ = shape ? _fbb.CreateVector<int32_t>(*shape) : 0; if (data) { _fbb.ForceVectorAlignment(data->size(), sizeof(uint8_t), 8); } auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0; + auto variable_name__ = variable_name ? _fbb.CreateString(variable_name) : 0; return tosa::CreateTosaTensor( _fbb, name__, @@ -2335,7 +2348,8 @@ inline ::flatbuffers::Offset<TosaTensor> CreateTosaTensorDirect( type, data__, variable, - is_unranked); + is_unranked, + variable_name__); } struct TosaOperator FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { diff --git a/include/tosa_serialization_handler.h b/include/tosa_serialization_handler.h index 814395b..e5448bc 100644 --- a/include/tosa_serialization_handler.h +++ b/include/tosa_serialization_handler.h @@ -150,14 +150,16 @@ public: const flatbuffers::Vector<int32_t>* shape, DType dtype, const flatbuffers::Vector<uint8_t>* data, - const bool variable = false, - const bool is_unranked = false); + const bool variable = false, + const bool is_unranked = false, + const flatbuffers::String* variable_name = NULL); TosaSerializationTensor(const std::string& name, const std::vector<int32_t>& shape, DType dtype, const std::vector<uint8_t>& data, - const bool variable = false, - const bool is_unranked = false); + const bool variable = false, + const bool is_unranked = false, + const std::string& variable_name = ""); TosaSerializationTensor(); ~TosaSerializationTensor(); @@ -186,6 +188,10 @@ public: { return _is_unranked; } + const std::string GetVariableName() const + { + return _variable_name; + } // modifier void SetDtype(DType dtype) @@ -225,6 +231,7 @@ private: bool _variable; /* is this a variable tensor */ std::vector<uint8_t> _data; /* data array */ bool _is_unranked; /* whether this is an unranked tensor */ + std::string _variable_name; /* name for variable tensors */ }; class TosaSerializationOperator |