aboutsummaryrefslogtreecommitdiff
path: root/reference_model
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 /reference_model
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
Diffstat (limited to 'reference_model')
-rw-r--r--reference_model/src/subgraph_traverser.cc6
1 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;