From 687805380e3b5aafb48ee1eb2b29857cc869f880 Mon Sep 17 00:00:00 2001 From: Jerry Ge Date: Mon, 26 Feb 2024 14:57:45 -0800 Subject: Update tensor allocator for FP16 case - With the update of ConvertU8toF16 to store F16 data in - F16 containers instead of F32, need to update the - function caller to have updated signatures Signed-off-by: Jerry Ge Change-Id: I8568120c5e67e837eaf6ec70f8db791c4e33d48b --- reference_model/src/subgraph_traverser.cc | 6 +++--- thirdparty/serialization_lib | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/reference_model/src/subgraph_traverser.cc b/reference_model/src/subgraph_traverser.cc index 33a9b94..52b1806 100644 --- a/reference_model/src/subgraph_traverser.cc +++ b/reference_model/src/subgraph_traverser.cc @@ -564,8 +564,7 @@ int SubgraphTraverser::allocateTensor(std::string name) } break; case DType_FP16: { - // Interpret f16 data as float - std::vector f16_data; + std::vector f16_data; TosaSerializationHandler::ConvertU8toF16(ts->GetData(), tensor->getElementCount(), f16_data); if (tensor->getDtype() == TOSA_REF_TYPE_FP64) { @@ -574,7 +573,8 @@ int SubgraphTraverser::allocateTensor(std::string name) } else { - tensor->setTensorValueFloat(f16_data.size(), f16_data.data()); + std::vector f32_data(f16_data.begin(), f16_data.end()); + tensor->setTensorValueFloat(f32_data.size(), f32_data.data()); } } break; diff --git a/thirdparty/serialization_lib b/thirdparty/serialization_lib index 81db8ee..758e73e 160000 --- a/thirdparty/serialization_lib +++ b/thirdparty/serialization_lib @@ -1 +1 @@ -Subproject commit 81db8ee8f580d30ec0ca53067df32ef046e6f09e +Subproject commit 758e73e117c5cef17f8f0b1c543efc1df953b2fa -- cgit v1.2.1