aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry Ge <jerry.ge@arm.com>2024-02-26 14:57:45 -0800
committerJerry Ge <jerry.ge@arm.com>2024-02-28 17:36:27 +0000
commit687805380e3b5aafb48ee1eb2b29857cc869f880 (patch)
treeac23efa2ebfdf15c00309e753e1fc6f51a52fa2f
parent8ead6c48d878346dfadc7fb48ee9ec94ab418a88 (diff)
downloadreference_model-687805380e3b5aafb48ee1eb2b29857cc869f880.tar.gz
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
-rw-r--r--reference_model/src/subgraph_traverser.cc6
m---------thirdparty/serialization_lib0
2 files changed, 3 insertions, 3 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<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 @@ int SubgraphTraverser::allocateTensor(std::string name)
}
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
-Subproject 81db8ee8f580d30ec0ca53067df32ef046e6f09
+Subproject 758e73e117c5cef17f8f0b1c543efc1df953b2f