diff options
author | Jerry Ge <jerry.ge@arm.com> | 2024-02-26 14:57:45 -0800 |
---|---|---|
committer | Jerry Ge <jerry.ge@arm.com> | 2024-02-28 17:36:27 +0000 |
commit | 687805380e3b5aafb48ee1eb2b29857cc869f880 (patch) | |
tree | ac23efa2ebfdf15c00309e753e1fc6f51a52fa2f /reference_model/src/subgraph_traverser.cc | |
parent | 8ead6c48d878346dfadc7fb48ee9ec94ab418a88 (diff) | |
download | reference_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/src/subgraph_traverser.cc')
-rw-r--r-- | reference_model/src/subgraph_traverser.cc | 6 |
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; |