From 3223c0c6e2da3a7172b2e95de284f7c45f00ae15 Mon Sep 17 00:00:00 2001 From: yang-minghai22 Date: Mon, 29 Jan 2024 17:30:00 +0800 Subject: [PATCH] [Bugfix] fix showing error when data is inf or nan --- .../src/python/ptdbg_ascend/compare/acc_compare.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/debug/accuracy_tools/ptdbg_ascend/src/python/ptdbg_ascend/compare/acc_compare.py b/debug/accuracy_tools/ptdbg_ascend/src/python/ptdbg_ascend/compare/acc_compare.py index 7f542a10d..fc01492c1 100644 --- a/debug/accuracy_tools/ptdbg_ascend/src/python/ptdbg_ascend/compare/acc_compare.py +++ b/debug/accuracy_tools/ptdbg_ascend/src/python/ptdbg_ascend/compare/acc_compare.py @@ -328,10 +328,13 @@ def get_accuracy(result, n_dict, b_dict, summary_compare=False, md5_compare=Fals if summary_compare: start_idx = CompareConst.SUMMARY_COMPARE_RESULT_HEADER.index(CompareConst.MAX_DIFF) for i, val in enumerate(zip(npu_summery_data, bench_summery_data)): - if isinstance(val[0], (float, int)) and isinstance(val[1], (float, int)): - result_item[start_idx + i] = val[0] - val[1] if not any(np.isinf(val)) else np.inf + if all(isinstance(value, (float, int)) for value in val): + result_item[start_idx + i] = val[0] - val[1] else: - result_item[start_idx + i] = "Nan" + result_item[start_idx + i] = CompareConst.NAN + replace_res = map(lambda x: f'{str(x)}\t' if str(x) in ('inf', '-inf', 'nan') else x, + result_item[start_idx:]) + result_item[start_idx:] = list(replace_res) result_item.append(CompareConst.ACCURACY_CHECK_YES) result_item.append(err_msg) -- Gitee