From aa463e556c2f21484c45b76d4e3d6773328883b3 Mon Sep 17 00:00:00 2001 From: s30048155 Date: Tue, 12 Sep 2023 17:14:41 +0800 Subject: [PATCH 1/6] change save path --- debug/accuracy_tools/api_accuracy_checker/common/config.py | 1 - debug/accuracy_tools/api_accuracy_checker/config.yaml | 1 - debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py | 6 +++--- .../api_accuracy_checker/run_ut/ut_api_info.py | 2 +- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/common/config.py b/debug/accuracy_tools/api_accuracy_checker/common/config.py index 07dd4e6bf..550513d8e 100644 --- a/debug/accuracy_tools/api_accuracy_checker/common/config.py +++ b/debug/accuracy_tools/api_accuracy_checker/common/config.py @@ -17,7 +17,6 @@ class Config: 'compare_algorithm': str, 'real_data': bool, 'dump_step': int, - 'error_data_path': str, 'enable_dataloader': bool, 'target_iter': int } diff --git a/debug/accuracy_tools/api_accuracy_checker/config.yaml b/debug/accuracy_tools/api_accuracy_checker/config.yaml index 46f0ed8d4..771e4a897 100644 --- a/debug/accuracy_tools/api_accuracy_checker/config.yaml +++ b/debug/accuracy_tools/api_accuracy_checker/config.yaml @@ -4,6 +4,5 @@ compile_option: -O3 compare_algorithm: cosine_similarity real_data: False dump_step: 1000 -error_data_path: './' enable_dataloader: True target_iter: 1 \ No newline at end of file diff --git a/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py b/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py index 26c2f1c46..f57c5d43e 100644 --- a/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py +++ b/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py @@ -201,8 +201,8 @@ def run_backward(api_full_name, args, backward_content, grad_index, npu_args, np return grad_out, npu_grad_out, grad, npu_grad -def initialize_save_error_data(): - error_data_path = os.path.realpath(msCheckerConfig.error_data_path) +def initialize_save_error_data(out_path): + error_data_path = os.path.realpath(out_path) check_file_or_directory_path(error_data_path, True) initialize_save_path(error_data_path, 'ut_error_data') @@ -245,7 +245,7 @@ def _run_ut(): out_path = os.path.realpath(args.out_path) if args.out_path else "./" save_error_data = args.save_error_data if save_error_data: - initialize_save_error_data() + initialize_save_error_data(out_path) run_ut(forward_file, backward_file, out_path, save_error_data) diff --git a/debug/accuracy_tools/api_accuracy_checker/run_ut/ut_api_info.py b/debug/accuracy_tools/api_accuracy_checker/run_ut/ut_api_info.py index d2a29a0f7..7e9f03268 100644 --- a/debug/accuracy_tools/api_accuracy_checker/run_ut/ut_api_info.py +++ b/debug/accuracy_tools/api_accuracy_checker/run_ut/ut_api_info.py @@ -3,7 +3,7 @@ from api_accuracy_checker.common.base_api import BaseAPIInfo class UtAPIInfo(BaseAPIInfo): - def __init__(self, api_name, element, is_forward=True, is_save_data=True, save_path=msCheckerConfig.error_data_path, + def __init__(self, api_name, element, is_forward=True, is_save_data=True, save_path='./', forward_path='ut_error_data', backward_path='ut_error_data'): super().__init__(api_name, is_forward, is_save_data, save_path, forward_path, backward_path) self.analyze_element(element) -- Gitee From 2cb8953476837fc341bd2a2ea31c1f97e82b2a89 Mon Sep 17 00:00:00 2001 From: s30048155 Date: Thu, 14 Sep 2023 19:31:53 +0800 Subject: [PATCH 2/6] update --- debug/accuracy_tools/api_accuracy_checker/run_ut/ut_api_info.py | 1 - 1 file changed, 1 deletion(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/run_ut/ut_api_info.py b/debug/accuracy_tools/api_accuracy_checker/run_ut/ut_api_info.py index 7e9f03268..f4b7f5de3 100644 --- a/debug/accuracy_tools/api_accuracy_checker/run_ut/ut_api_info.py +++ b/debug/accuracy_tools/api_accuracy_checker/run_ut/ut_api_info.py @@ -1,4 +1,3 @@ -from api_accuracy_checker.common.config import msCheckerConfig from api_accuracy_checker.common.base_api import BaseAPIInfo -- Gitee From 562deb067d4785219d830b055c9982e5d21dc4e4 Mon Sep 17 00:00:00 2001 From: s30048155 Date: Wed, 27 Sep 2023 11:06:20 +0800 Subject: [PATCH 3/6] write err --- .../accuracy_tools/api_accuracy_checker/compare/algorithm.py | 4 ++-- debug/accuracy_tools/api_accuracy_checker/compare/compare.py | 4 +++- debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/compare/algorithm.py b/debug/accuracy_tools/api_accuracy_checker/compare/algorithm.py index b314dd312..f4e73d743 100644 --- a/debug/accuracy_tools/api_accuracy_checker/compare/algorithm.py +++ b/debug/accuracy_tools/api_accuracy_checker/compare/algorithm.py @@ -142,11 +142,11 @@ def flatten_compare_result(result): def compare_core(bench_out, npu_out, alg): msg = "" if not isinstance(bench_out, type(npu_out)): - return [(CompareConst.NAN, "bench and npu output type is different.")], False, CompareConst.NA, CompareConst.NA + return [(CompareConst.NAN, "bench and npu output type is different.")], False, CompareConst.NA, CompareConst.NA, CompareConst.NA if isinstance(bench_out, (list, tuple)): compare_result, test_success, bench_dtype, npu_dtype, shape = [], True, [], [], [] if len(bench_out) != len(npu_out): - return [(CompareConst.NAN, "bench and npu output structure is different")], False, CompareConst.NA, CompareConst.NA + return [(CompareConst.NAN, "bench and npu output structure is different")], False, CompareConst.NA, CompareConst.NA, CompareConst.NA for b_out_i, n_out_i in zip(bench_out, npu_out): compare_result_i, test_success_i, bench_dtype_i, npu_dtype_i, shape_i = compare_core(b_out_i, n_out_i, alg) compare_result.append(compare_result_i) diff --git a/debug/accuracy_tools/api_accuracy_checker/compare/compare.py b/debug/accuracy_tools/api_accuracy_checker/compare/compare.py index dc403cc2b..f3e8a4cf4 100644 --- a/debug/accuracy_tools/api_accuracy_checker/compare/compare.py +++ b/debug/accuracy_tools/api_accuracy_checker/compare/compare.py @@ -74,7 +74,7 @@ class Comparator: console.print(table_detail) def write_csv_title(self): - summary_test_rows = [[self.COLUMN_API_NAME, self.COLUMN_FORWARD_SUCCESS, self.COLUMN_BACKWARD_SUCCESS]] + summary_test_rows = [[self.COLUMN_API_NAME, self.COLUMN_FORWARD_SUCCESS, self.COLUMN_BACKWARD_SUCCESS, "Message"]] write_csv(summary_test_rows, self.save_path) detail_test_rows = [[ @@ -96,6 +96,8 @@ class Comparator: name = test_result[0] df_row = list(test_result[:3]) + if test_result[1] == "SKIP" or test_result[2] == "SKIP": + df_row.append(test_result[3]) if self.stack_info: stack_info = "\n".join(self.stack_info[name]) df_row.append(stack_info) diff --git a/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py b/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py index c9fc19f69..9037ba58c 100644 --- a/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py +++ b/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py @@ -113,7 +113,7 @@ def run_ut(forward_file, backward_file, out_path, save_error_data): f"'int32_to_int64' list in accuracy_tools/api_accuracy_check/common/utils.py file.") else: print_error_log(f"Run {api_full_name} UT Error: %s" % str(err)) - + compare.write_summary_csv((api_full_name, "SKIP", "SKIP", str(err))) compare.print_pretest_result() -- Gitee From 8f8745cf42ff5f9b195e68774c48db435b1f5ff1 Mon Sep 17 00:00:00 2001 From: s30048155 Date: Wed, 27 Sep 2023 11:12:07 +0800 Subject: [PATCH 4/6] revert --- debug/accuracy_tools/api_accuracy_checker/common/config.py | 1 + debug/accuracy_tools/api_accuracy_checker/config.yaml | 1 + debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py | 6 +++--- .../api_accuracy_checker/run_ut/ut_api_info.py | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/common/config.py b/debug/accuracy_tools/api_accuracy_checker/common/config.py index d6c049701..2bf26d735 100644 --- a/debug/accuracy_tools/api_accuracy_checker/common/config.py +++ b/debug/accuracy_tools/api_accuracy_checker/common/config.py @@ -17,6 +17,7 @@ class Config: 'compare_algorithm': str, 'real_data': bool, 'dump_step': int, + 'error_data_path': str, 'enable_dataloader': bool, 'target_iter': int, 'precision': int diff --git a/debug/accuracy_tools/api_accuracy_checker/config.yaml b/debug/accuracy_tools/api_accuracy_checker/config.yaml index 61b059a50..143629d92 100644 --- a/debug/accuracy_tools/api_accuracy_checker/config.yaml +++ b/debug/accuracy_tools/api_accuracy_checker/config.yaml @@ -4,6 +4,7 @@ compile_option: -O3 compare_algorithm: cosine_similarity real_data: False dump_step: 1000 +error_data_path: './' enable_dataloader: True target_iter: 1 precision: 14 diff --git a/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py b/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py index 9037ba58c..ff0c4917c 100644 --- a/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py +++ b/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py @@ -200,8 +200,8 @@ def run_backward(api_full_name, args, backward_content, grad_index, npu_args, np return grad_out, npu_grad_out, grad, npu_grad -def initialize_save_error_data(out_path): - error_data_path = os.path.realpath(out_path) +def initialize_save_error_data(): + error_data_path = os.path.realpath(msCheckerConfig.error_data_path) check_file_or_directory_path(error_data_path, True) initialize_save_path(error_data_path, 'ut_error_data') @@ -244,7 +244,7 @@ def _run_ut(): out_path = os.path.realpath(args.out_path) if args.out_path else "./" save_error_data = args.save_error_data if save_error_data: - initialize_save_error_data(out_path) + initialize_save_error_data() run_ut(forward_file, backward_file, out_path, save_error_data) diff --git a/debug/accuracy_tools/api_accuracy_checker/run_ut/ut_api_info.py b/debug/accuracy_tools/api_accuracy_checker/run_ut/ut_api_info.py index f4b7f5de3..d2a29a0f7 100644 --- a/debug/accuracy_tools/api_accuracy_checker/run_ut/ut_api_info.py +++ b/debug/accuracy_tools/api_accuracy_checker/run_ut/ut_api_info.py @@ -1,8 +1,9 @@ +from api_accuracy_checker.common.config import msCheckerConfig from api_accuracy_checker.common.base_api import BaseAPIInfo class UtAPIInfo(BaseAPIInfo): - def __init__(self, api_name, element, is_forward=True, is_save_data=True, save_path='./', + def __init__(self, api_name, element, is_forward=True, is_save_data=True, save_path=msCheckerConfig.error_data_path, forward_path='ut_error_data', backward_path='ut_error_data'): super().__init__(api_name, is_forward, is_save_data, save_path, forward_path, backward_path) self.analyze_element(element) -- Gitee From cba96b70c26b233e546a215bb437e0d2ad8e428a Mon Sep 17 00:00:00 2001 From: s30048155 Date: Wed, 27 Sep 2023 16:59:18 +0800 Subject: [PATCH 5/6] update --- debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py | 1 - 1 file changed, 1 deletion(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py b/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py index ff0c4917c..c061dd3ba 100644 --- a/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py +++ b/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py @@ -116,7 +116,6 @@ def run_ut(forward_file, backward_file, out_path, save_error_data): compare.write_summary_csv((api_full_name, "SKIP", "SKIP", str(err))) compare.print_pretest_result() - def do_save_error_data(api_full_name, data_info, is_fwd_success, is_bwd_success): if not is_fwd_success or not is_bwd_success: api_full_name = api_full_name.replace("*", ".") -- Gitee From 0991dd8b9cb8aad248cc96fd58ab08435e6b4437 Mon Sep 17 00:00:00 2001 From: s30048155 Date: Wed, 27 Sep 2023 17:03:06 +0800 Subject: [PATCH 6/6] update --- debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py | 1 + 1 file changed, 1 insertion(+) diff --git a/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py b/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py index c061dd3ba..ff0c4917c 100644 --- a/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py +++ b/debug/accuracy_tools/api_accuracy_checker/run_ut/run_ut.py @@ -116,6 +116,7 @@ def run_ut(forward_file, backward_file, out_path, save_error_data): compare.write_summary_csv((api_full_name, "SKIP", "SKIP", str(err))) compare.print_pretest_result() + def do_save_error_data(api_full_name, data_info, is_fwd_success, is_bwd_success): if not is_fwd_success or not is_bwd_success: api_full_name = api_full_name.replace("*", ".") -- Gitee