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 <jerry.ge@arm.com>
Change-Id: I8568120c5e67e837eaf6ec70f8db791c4e33d48b
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 @@
}
break;
case DType_FP16: {
- // Interpret f16 data as float
- std::vector<float> f16_data;
+ std::vector<half_float::half> f16_data;
TosaSerializationHandler::ConvertU8toF16(ts->GetData(), tensor->getElementCount(), f16_data);
if (tensor->getDtype() == TOSA_REF_TYPE_FP64)
{
@@ -574,7 +573,8 @@
}
else
{
- tensor->setTensorValueFloat(f16_data.size(), f16_data.data());
+ std::vector<float> 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