diff options
author | Tai Ly <tai.ly@arm.com> | 2023-12-15 20:34:51 +0000 |
---|---|---|
committer | Tai Ly <tai.ly@arm.com> | 2024-01-12 21:39:59 +0000 |
commit | 5d580faec02bcef56164587accb5fd88a3e80d86 (patch) | |
tree | 0bf550d054f37d2831ac80e1e901265e905d1f1c /include | |
parent | cc426df2a6762cb09c6a25c911039ae34660570c (diff) | |
download | serialization_lib-5d580faec02bcef56164587accb5fd88a3e80d86.tar.gz |
[serialization_lib] Add tosa shape ops
Added tosa shape ops to tosa.fbs
also added convert I64 to and from U8 for storing const_shape data values
Signed-off-by: Tai Ly <tai.ly@arm.com>
Change-Id: I1e938dec7398fbcbe5be657dad65cdd61af5b597
Diffstat (limited to 'include')
-rw-r--r-- | include/tosa_generated.h | 28 | ||||
-rw-r--r-- | include/tosa_serialization_handler.h | 2 |
2 files changed, 25 insertions, 5 deletions
diff --git a/include/tosa_generated.h b/include/tosa_generated.h index 0547316..2ecd35a 100644 --- a/include/tosa_generated.h +++ b/include/tosa_generated.h @@ -272,11 +272,17 @@ enum Op : uint32_t { Op_RFFT2D = 70, Op_ERF = 71, Op_DIM = 72, + Op_CONST_SHAPE = 73, + Op_CONCAT_SHAPE = 74, + Op_ADD_SHAPE = 75, + Op_SUB_SHAPE = 76, + Op_MUL_SHAPE = 77, + Op_DIV_SHAPE = 78, Op_MIN = Op_UNKNOWN, - Op_MAX = Op_DIM + Op_MAX = Op_DIV_SHAPE }; -inline const Op (&EnumValuesOp())[73] { +inline const Op (&EnumValuesOp())[79] { static const Op values[] = { Op_UNKNOWN, Op_ARGMAX, @@ -350,13 +356,19 @@ inline const Op (&EnumValuesOp())[73] { Op_FFT2D, Op_RFFT2D, Op_ERF, - Op_DIM + Op_DIM, + Op_CONST_SHAPE, + Op_CONCAT_SHAPE, + Op_ADD_SHAPE, + Op_SUB_SHAPE, + Op_MUL_SHAPE, + Op_DIV_SHAPE }; return values; } inline const char * const *EnumNamesOp() { - static const char * const names[74] = { + static const char * const names[80] = { "UNKNOWN", "ARGMAX", "AVG_POOL2D", @@ -430,13 +442,19 @@ inline const char * const *EnumNamesOp() { "RFFT2D", "ERF", "DIM", + "CONST_SHAPE", + "CONCAT_SHAPE", + "ADD_SHAPE", + "SUB_SHAPE", + "MUL_SHAPE", + "DIV_SHAPE", nullptr }; return names; } inline const char *EnumNameOp(Op e) { - if (::flatbuffers::IsOutRange(e, Op_UNKNOWN, Op_DIM)) return ""; + if (::flatbuffers::IsOutRange(e, Op_UNKNOWN, Op_DIV_SHAPE)) return ""; const size_t index = static_cast<size_t>(e); return EnumNamesOp()[index]; } diff --git a/include/tosa_serialization_handler.h b/include/tosa_serialization_handler.h index 41032fc..35327e8 100644 --- a/include/tosa_serialization_handler.h +++ b/include/tosa_serialization_handler.h @@ -414,6 +414,7 @@ public: // data format conversion. little-endian. static tosa_err_t ConvertF16toU8(const std::vector<float>& in, std::vector<uint8_t>& out); static tosa_err_t ConvertF32toU8(const std::vector<float>& in, std::vector<uint8_t>& out); + static tosa_err_t ConvertI64toU8(const std::vector<int64_t>& in, std::vector<uint8_t>& out); static tosa_err_t ConvertI48toU8(const std::vector<int64_t>& in, std::vector<uint8_t>& out); static tosa_err_t ConvertI32toU8(const std::vector<int32_t>& in, std::vector<uint8_t>& out); static tosa_err_t ConvertI16toU8(const std::vector<int16_t>& in, std::vector<uint8_t>& out); @@ -423,6 +424,7 @@ public: static tosa_err_t ConvertU8toF16(const std::vector<uint8_t>& in, uint32_t out_size, std::vector<float>& out); static tosa_err_t ConvertU8toF32(const std::vector<uint8_t>& in, uint32_t out_size, std::vector<float>& out); + static tosa_err_t ConvertU8toI64(const std::vector<uint8_t>& in, uint32_t out_size, std::vector<int64_t>& out); static tosa_err_t ConvertU8toI48(const std::vector<uint8_t>& in, uint32_t out_size, std::vector<int64_t>& out); static tosa_err_t ConvertU8toI32(const std::vector<uint8_t>& in, uint32_t out_size, std::vector<int32_t>& out); static tosa_err_t ConvertU8toI16(const std::vector<uint8_t>& in, uint32_t out_size, std::vector<int16_t>& out); |