From 5323a36a4407a9ae7ab9aa090e187ae4abe83d2a Mon Sep 17 00:00:00 2001 From: Yufeng Li Date: Wed, 11 Dec 2019 13:52:11 -0800 Subject: [PATCH] fix float16 comparison in initializer --- onnxruntime/core/optimizer/utils.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/onnxruntime/core/optimizer/utils.cc b/onnxruntime/core/optimizer/utils.cc index 3b3ad343ad713..c58bac0498f92 100644 --- a/onnxruntime/core/optimizer/utils.cc +++ b/onnxruntime/core/optimizer/utils.cc @@ -63,7 +63,7 @@ bool IsInitializerWithExpectedValue(const Graph& graph, const NodeArg& input_arg } } else if (data_type == ONNX_NAMESPACE::TensorProto_DataType_FLOAT16) { const MLFloat16* val = init_const->data(); - float diff = std::abs(math::halfToFloat(val[0].val) - static_cast(expected_value)); + float diff = std::abs(math::halfToFloat(val[0].val) - math::halfToFloat(math::floatToHalf(expected_value))); if (diff > FLT_EPSILON) { return false; }