From 765740494d5a7d669101a41acf766ae049986502 Mon Sep 17 00:00:00 2001 From: jiangchangting1 Date: Mon, 7 Aug 2023 01:20:11 +0000 Subject: [PATCH 1/9] update debug/accuracy_tools/api_accuracy_checker/dump/api_info.py. Signed-off-by: jiangchangting1 --- .../api_accuracy_checker/dump/api_info.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/dump/api_info.py b/debug/accuracy_tools/api_accuracy_checker/dump/api_info.py index d33ed21d813..3131b10fc1b 100644 --- a/debug/accuracy_tools/api_accuracy_checker/dump/api_info.py +++ b/debug/accuracy_tools/api_accuracy_checker/dump/api_info.py @@ -14,6 +14,11 @@ class APIInfo: self.api_name = api_name self.save_real_data = msCheckerConfig.real_data self.torch_object_key = {'device' : self.analyze_device_in_kwargs, 'dtype' : self.analyze_dtype_in_kwargs} + self.args_num = 0 + if isinstance(self, ForwardAPIInfo): + self.is_forward = True + else: + self.is_forward = False def analyze_element(self, element): if isinstance(element, (list, tuple)): @@ -55,8 +60,15 @@ class APIInfo: else: dump_path = msCheckerConfig.dump_path - real_data_path = os.path.join(dump_path, 'real_data') - file_path = os.path.join(real_data_path, self.api_name) + api_args = self.api_name + '*' + str(self.args_num) + if self.is_forward: + forward_real_data_path = os.path.join(dump_path, 'forward_real_data') + + file_path = os.path.join(forward_real_data_path, f'{api_args}.npy') + else: + backward_real_data_path = os.path.join(dump_path, 'backward_real_data') + file_path = os.path.join(backward_real_data_path, f'{api_args}.npy') + self.args_num += 1 npy_path = write_npy(file_path, arg.contiguous().cpu().detach().numpy()) single_arg.update({'type' : 'torch.Tensor'}) single_arg.update({'datapath' : npy_path}) -- Gitee From 8a25da2b0952060f928bd12085ece1c5020e0a8d Mon Sep 17 00:00:00 2001 From: jiangchangting1 Date: Mon, 7 Aug 2023 01:21:45 +0000 Subject: [PATCH 2/9] update debug/accuracy_tools/api_accuracy_checker/dump/info_dump.py. Signed-off-by: jiangchangting1 --- debug/accuracy_tools/api_accuracy_checker/dump/info_dump.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/dump/info_dump.py b/debug/accuracy_tools/api_accuracy_checker/dump/info_dump.py index 1914b27d8d7..1e4a6e70534 100644 --- a/debug/accuracy_tools/api_accuracy_checker/dump/info_dump.py +++ b/debug/accuracy_tools/api_accuracy_checker/dump/info_dump.py @@ -53,8 +53,10 @@ def initialize_output_json(): check_file_or_directory_path(dump_path,True) files = ['forward_info.json', 'backward_info.json', 'stack_info.json'] if msCheckerConfig.real_data: - real_data_path = os.path.join(dump_path, 'real_data') - check_file_or_directory_path(real_data_path, True) + forward_real_data_path = os.path.join(dump_path, 'forward_real_data') + check_file_or_directory_path(forward_real_data_path, True) + backward_real_data_path = os.path.join(dump_path, 'backward_real_data') + check_file_or_directory_path(backward_real_data_path, True) for file in files: file_path = os.path.join(dump_path, file) if os.path.exists(file_path): -- Gitee From c8397eeef3031ddeb30af2d03621aef4cc4f91be Mon Sep 17 00:00:00 2001 From: jiangchangting1 Date: Mon, 7 Aug 2023 02:24:28 +0000 Subject: [PATCH 3/9] update debug/accuracy_tools/api_accuracy_checker/dump/info_dump.py. Signed-off-by: jiangchangting1 --- .../api_accuracy_checker/dump/info_dump.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/debug/accuracy_tools/api_accuracy_checker/dump/info_dump.py b/debug/accuracy_tools/api_accuracy_checker/dump/info_dump.py index 1e4a6e70534..7790518399e 100644 --- a/debug/accuracy_tools/api_accuracy_checker/dump/info_dump.py +++ b/debug/accuracy_tools/api_accuracy_checker/dump/info_dump.py @@ -54,8 +54,17 @@ def initialize_output_json(): files = ['forward_info.json', 'backward_info.json', 'stack_info.json'] if msCheckerConfig.real_data: forward_real_data_path = os.path.join(dump_path, 'forward_real_data') + if os.path.exists(forward_real_data_path): + raise ValueError(f"file {forward_real_data_path} already exists, please remove it first") + else: + os.mkdir(forward_real_data_path, mode = 0o750) check_file_or_directory_path(forward_real_data_path, True) + backward_real_data_path = os.path.join(dump_path, 'backward_real_data') + if os.path.exists(backward_real_data_path): + raise ValueError(f"file {backward_real_data_path} already exists, please remove it first") + else: + os.mkdir(backward_real_data_path, mode = 0o750) check_file_or_directory_path(backward_real_data_path, True) for file in files: file_path = os.path.join(dump_path, file) -- Gitee From b11ad7c7565346c2c9695a115951235cf3fdf090 Mon Sep 17 00:00:00 2001 From: jiangchangting1 Date: Mon, 7 Aug 2023 03:46:37 +0000 Subject: [PATCH 4/9] update debug/accuracy_tools/api_accuracy_checker/dump/api_info.py. Signed-off-by: jiangchangting1 --- debug/accuracy_tools/api_accuracy_checker/dump/api_info.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/dump/api_info.py b/debug/accuracy_tools/api_accuracy_checker/dump/api_info.py index 3131b10fc1b..5c2d411d016 100644 --- a/debug/accuracy_tools/api_accuracy_checker/dump/api_info.py +++ b/debug/accuracy_tools/api_accuracy_checker/dump/api_info.py @@ -15,10 +15,6 @@ class APIInfo: self.save_real_data = msCheckerConfig.real_data self.torch_object_key = {'device' : self.analyze_device_in_kwargs, 'dtype' : self.analyze_dtype_in_kwargs} self.args_num = 0 - if isinstance(self, ForwardAPIInfo): - self.is_forward = True - else: - self.is_forward = False def analyze_element(self, element): if isinstance(element, (list, tuple)): @@ -138,6 +134,7 @@ class APIInfo: class ForwardAPIInfo(APIInfo): def __init__(self, name, args, kwargs): super().__init__(name) + self.is_forward = True self.analyze_api_input(args, kwargs) self.analyze_api_call_stack() @@ -160,6 +157,7 @@ class ForwardAPIInfo(APIInfo): class BackwardAPIInfo(APIInfo): def __init__(self, name, grads): super().__init__(name) + self.is_forward = False self.analyze_api_input(grads) def analyze_api_input(self, grads): -- Gitee From f0cb18b1ab9806c04320535adbe5a57ec84e957b Mon Sep 17 00:00:00 2001 From: jiangchangting1 Date: Mon, 7 Aug 2023 06:42:56 +0000 Subject: [PATCH 5/9] update debug/accuracy_tools/api_accuracy_checker/common/utils.py. Signed-off-by: jiangchangting1 --- debug/accuracy_tools/api_accuracy_checker/common/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/common/utils.py b/debug/accuracy_tools/api_accuracy_checker/common/utils.py index 8ca6381ce9e..9ea98adc96d 100644 --- a/debug/accuracy_tools/api_accuracy_checker/common/utils.py +++ b/debug/accuracy_tools/api_accuracy_checker/common/utils.py @@ -83,7 +83,7 @@ class Const: } CONVERT_API = { - "fp16_to_fp32": ["conv2d", "batch_norm", "relu", "max_pool2d", "interpolate"] + "fp16_to_fp32": ["conv2d", "batch_norm", "relu", "max_pool2d", "interpolate", "layer_norm", "bmm"] } class CompareConst: -- Gitee From becd7ac028a88fa5030547883ce7ef6780af0c18 Mon Sep 17 00:00:00 2001 From: jiangchangting1 Date: Mon, 7 Aug 2023 07:51:32 +0000 Subject: [PATCH 6/9] update debug/accuracy_tools/api_accuracy_checker/common/utils.py. Signed-off-by: jiangchangting1 --- debug/accuracy_tools/api_accuracy_checker/common/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/common/utils.py b/debug/accuracy_tools/api_accuracy_checker/common/utils.py index e20bcdc2f72..f1e677b44ed 100644 --- a/debug/accuracy_tools/api_accuracy_checker/common/utils.py +++ b/debug/accuracy_tools/api_accuracy_checker/common/utils.py @@ -83,7 +83,7 @@ class Const: } CONVERT_API = { - "fp16_to_fp32": ["conv2d", "batch_norm", "relu", "max_pool2d", "interpolate", "group_norm", "layer_norm", "bmm"] + "fp16_to_fp32": ["conv2d", "batch_norm", "relu", "max_pool2d", "interpolate", "group_norm", "layer_norm", "bmm", "tanh"] } class CompareConst: -- Gitee From 160b0687ca37d598c6372e6c48ad4e40378f1776 Mon Sep 17 00:00:00 2001 From: jiangchangting1 Date: Mon, 7 Aug 2023 09:24:10 +0000 Subject: [PATCH 7/9] update debug/accuracy_tools/api_accuracy_checker/common/utils.py. Signed-off-by: jiangchangting1 --- debug/accuracy_tools/api_accuracy_checker/common/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/common/utils.py b/debug/accuracy_tools/api_accuracy_checker/common/utils.py index f1e677b44ed..19270e858b9 100644 --- a/debug/accuracy_tools/api_accuracy_checker/common/utils.py +++ b/debug/accuracy_tools/api_accuracy_checker/common/utils.py @@ -83,7 +83,7 @@ class Const: } CONVERT_API = { - "fp16_to_fp32": ["conv2d", "batch_norm", "relu", "max_pool2d", "interpolate", "group_norm", "layer_norm", "bmm", "tanh"] + "fp16_to_fp32": ["conv2d", "batch_norm", "relu", "max_pool2d", "interpolate", "group_norm", "layer_norm", "bmm", "tanh", "cross_entropy"] } class CompareConst: -- Gitee From 803e9c5ce93ea4ee192f6f1774e66ead6034a443 Mon Sep 17 00:00:00 2001 From: jiangchangting1 Date: Tue, 8 Aug 2023 06:25:50 +0000 Subject: [PATCH 8/9] update debug/accuracy_tools/api_accuracy_checker/dump/api_info.py. Signed-off-by: jiangchangting1 --- .../accuracy_tools/api_accuracy_checker/dump/api_info.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/dump/api_info.py b/debug/accuracy_tools/api_accuracy_checker/dump/api_info.py index 5c2d411d016..5d7fb97e276 100644 --- a/debug/accuracy_tools/api_accuracy_checker/dump/api_info.py +++ b/debug/accuracy_tools/api_accuracy_checker/dump/api_info.py @@ -9,11 +9,12 @@ from api_accuracy_checker.common.config import msCheckerConfig from api_accuracy_checker.dump.utils import write_npy class APIInfo: - def __init__(self, api_name): + def __init__(self, api_name, is_forward): self.rank = os.getpid() self.api_name = api_name self.save_real_data = msCheckerConfig.real_data self.torch_object_key = {'device' : self.analyze_device_in_kwargs, 'dtype' : self.analyze_dtype_in_kwargs} + self.is_forward = is_forward self.args_num = 0 def analyze_element(self, element): @@ -133,8 +134,7 @@ class APIInfo: class ForwardAPIInfo(APIInfo): def __init__(self, name, args, kwargs): - super().__init__(name) - self.is_forward = True + super().__init__(name, is_forward=True) self.analyze_api_input(args, kwargs) self.analyze_api_call_stack() @@ -156,8 +156,7 @@ class ForwardAPIInfo(APIInfo): class BackwardAPIInfo(APIInfo): def __init__(self, name, grads): - super().__init__(name) - self.is_forward = False + super().__init__(name, is_forward=False) self.analyze_api_input(grads) def analyze_api_input(self, grads): -- Gitee From 902cf759c67f1a77f5dde32575e0d11cb0362188 Mon Sep 17 00:00:00 2001 From: jiangchangting1 Date: Tue, 8 Aug 2023 06:27:05 +0000 Subject: [PATCH 9/9] update debug/accuracy_tools/api_accuracy_checker/common/utils.py. Signed-off-by: jiangchangting1 --- debug/accuracy_tools/api_accuracy_checker/common/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debug/accuracy_tools/api_accuracy_checker/common/utils.py b/debug/accuracy_tools/api_accuracy_checker/common/utils.py index 19270e858b9..167437da9d2 100644 --- a/debug/accuracy_tools/api_accuracy_checker/common/utils.py +++ b/debug/accuracy_tools/api_accuracy_checker/common/utils.py @@ -83,7 +83,7 @@ class Const: } CONVERT_API = { - "fp16_to_fp32": ["conv2d", "batch_norm", "relu", "max_pool2d", "interpolate", "group_norm", "layer_norm", "bmm", "tanh", "cross_entropy"] + "fp16_to_fp32": ["conv2d", "batch_norm", "relu", "max_pool2d", "interpolate", "group_norm", "layer_norm", "bmm", "tanh", "cross_entropy", "linear", "numel"] } class CompareConst: -- Gitee