From 5a6729fddf346234e89c2c3e944a3fa65af89a6e Mon Sep 17 00:00:00 2001 From: megemini Date: Sun, 13 Oct 2024 10:21:16 +0000 Subject: [PATCH 01/26] [Fix] version check --- requirements.txt | 1 + x2paddle/convert.py | 19 +++++++------------ x2paddle/utils.py | 29 ++++++++++++++++++++++------- 3 files changed, 30 insertions(+), 19 deletions(-) diff --git a/requirements.txt b/requirements.txt index ded0ee752..7127bf47d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ sympy +packaging diff --git a/x2paddle/convert.py b/x2paddle/convert.py index 3372c5bc1..0a7e83a29 100644 --- a/x2paddle/convert.py +++ b/x2paddle/convert.py @@ -14,7 +14,7 @@ from six import text_type as _text_type from x2paddle import program -from x2paddle.utils import ConverterCheck +from x2paddle.utils import ConverterCheck, check_version import argparse import sys import logging @@ -449,20 +449,15 @@ def main(): assert args.save_dir is not None, "--save_dir is not defined" try: - import platform - v0, v1, v2 = platform.python_version().split('.') - if not (int(v0) >= 3 and int(v1) >= 5): - logging.info("[ERROR] python>=3.5 is required") + if not sys.version_info >= (3, 8): + logging.error("[ERROR] python>=3.8 is required") return + import paddle - v0, v1, v2 = paddle.__version__.split('.') - logging.info("paddle.__version__ = {}".format(paddle.__version__)) - if v0 == '0' and v1 == '0' and v2 == '0': - logging.info( - "[WARNING] You are use develop version of paddlepaddle") - elif int(v0) != 2 or int(v1) < 0: - logging.info("[ERROR] paddlepaddle>=2.0.0 is required") + if not check_version('2.0.0'): + logging.error("[ERROR] paddlepaddle>=2.0.0 is required") return + except: logging.info( "[ERROR] paddlepaddle not installed, use \"pip install paddlepaddle\"" diff --git a/x2paddle/utils.py b/x2paddle/utils.py index 2117a40c7..b51dda7f4 100644 --- a/x2paddle/utils.py +++ b/x2paddle/utils.py @@ -13,6 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. +import logging + +from packaging.version import Version + import paddle import x2paddle import hashlib @@ -30,15 +34,26 @@ def string(param): return "\'{}\'".format(param) -def check_version(): - version = paddle.__version__ - v0, v1, v2 = version.split('.') - if not ((v0 == '0' and v1 == '0' and v2 == '0') or - (int(v0) >= 2 and int(v1) >= 1)): - return False - else: +def check_version(base_version: str = '2.1.0') -> bool: + """ + Return `True` if the current version is equal or bigger than `base_version`. + The default version `2.1.0` is used for checking `is_new_version`. + """ + is_new = False + + dev_version = Version('0.0.0') + cur_version = Version(paddle.__version__) + + if cur_version == dev_version: + logging.info("[WARNING] You are use develop version of paddlepaddle") + return True + if cur_version >= Version(base_version): + return True + + return False + def _md5(text: str): '''Calculate the md5 value of the input text.''' From 6e985f820e28ccf3a955efc66088fa3443e7cb83 Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 11:48:14 +0800 Subject: [PATCH 02/26] [Fix] log_summary with black.list --- test_benchmark/Caffe/tools/log_summary.sh | 7 ++++++- test_benchmark/ONNX/tools/log_summary.sh | 7 ++++++- test_benchmark/PyTorch/tools/log_summary.sh | 7 ++++++- test_benchmark/TensorFlow/tools/log_summary.sh | 7 ++++++- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/test_benchmark/Caffe/tools/log_summary.sh b/test_benchmark/Caffe/tools/log_summary.sh index 7c0228980..1142718ce 100644 --- a/test_benchmark/Caffe/tools/log_summary.sh +++ b/test_benchmark/Caffe/tools/log_summary.sh @@ -7,7 +7,12 @@ fi mkdir ../output cd .. -for model in `ls -d */ | grep -v 'tools' | grep -v 'output' | awk -F '/' '{print $1}'` + +# use black.list to control CI tests +filename="black.list" +models=$(ls -d */ | grep -v -F -f "$filename") + +for model in $models do cp ${model}/run.log output/${model}_run.log cp ${model}/run.err output/${model}_run.err diff --git a/test_benchmark/ONNX/tools/log_summary.sh b/test_benchmark/ONNX/tools/log_summary.sh index 7c0228980..1142718ce 100644 --- a/test_benchmark/ONNX/tools/log_summary.sh +++ b/test_benchmark/ONNX/tools/log_summary.sh @@ -7,7 +7,12 @@ fi mkdir ../output cd .. -for model in `ls -d */ | grep -v 'tools' | grep -v 'output' | awk -F '/' '{print $1}'` + +# use black.list to control CI tests +filename="black.list" +models=$(ls -d */ | grep -v -F -f "$filename") + +for model in $models do cp ${model}/run.log output/${model}_run.log cp ${model}/run.err output/${model}_run.err diff --git a/test_benchmark/PyTorch/tools/log_summary.sh b/test_benchmark/PyTorch/tools/log_summary.sh index 7c0228980..1142718ce 100644 --- a/test_benchmark/PyTorch/tools/log_summary.sh +++ b/test_benchmark/PyTorch/tools/log_summary.sh @@ -7,7 +7,12 @@ fi mkdir ../output cd .. -for model in `ls -d */ | grep -v 'tools' | grep -v 'output' | awk -F '/' '{print $1}'` + +# use black.list to control CI tests +filename="black.list" +models=$(ls -d */ | grep -v -F -f "$filename") + +for model in $models do cp ${model}/run.log output/${model}_run.log cp ${model}/run.err output/${model}_run.err diff --git a/test_benchmark/TensorFlow/tools/log_summary.sh b/test_benchmark/TensorFlow/tools/log_summary.sh index 7c0228980..1142718ce 100644 --- a/test_benchmark/TensorFlow/tools/log_summary.sh +++ b/test_benchmark/TensorFlow/tools/log_summary.sh @@ -7,7 +7,12 @@ fi mkdir ../output cd .. -for model in `ls -d */ | grep -v 'tools' | grep -v 'output' | awk -F '/' '{print $1}'` + +# use black.list to control CI tests +filename="black.list" +models=$(ls -d */ | grep -v -F -f "$filename") + +for model in $models do cp ${model}/run.log output/${model}_run.log cp ${model}/run.err output/${model}_run.err From ac279ba3a4e000beb421f676c38126018271896b Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 11:53:01 +0800 Subject: [PATCH 03/26] [Debug] test for black.list --- test_benchmark/PyTorch/black.list | 1 - 1 file changed, 1 deletion(-) diff --git a/test_benchmark/PyTorch/black.list b/test_benchmark/PyTorch/black.list index fae6e32d4..c5cd88fe9 100644 --- a/test_benchmark/PyTorch/black.list +++ b/test_benchmark/PyTorch/black.list @@ -1,4 +1,3 @@ -ACG_UnitTest AlexNet BASNet BertForMaskedLM_dccuchile From 990ab2f9df2e92ec33faaba927a5dd2a0e076d47 Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 12:28:07 +0800 Subject: [PATCH 04/26] [Fix] make default result is Failed --- test_benchmark/Caffe/convert.sh | 7 ++++++- test_benchmark/Caffe/tools/log_summary.sh | 2 +- test_benchmark/ONNX/convert.sh | 7 ++++++- test_benchmark/ONNX/tools/log_summary.sh | 2 +- test_benchmark/PyTorch/black.list | 2 +- test_benchmark/PyTorch/convert.sh | 7 ++++++- test_benchmark/PyTorch/tools/log_summary.sh | 2 +- test_benchmark/TensorFlow/convert.sh | 7 ++++++- test_benchmark/TensorFlow/tools/log_summary.sh | 2 +- 9 files changed, 29 insertions(+), 9 deletions(-) diff --git a/test_benchmark/Caffe/convert.sh b/test_benchmark/Caffe/convert.sh index 190166823..a60db59e7 100644 --- a/test_benchmark/Caffe/convert.sh +++ b/test_benchmark/Caffe/convert.sh @@ -10,7 +10,7 @@ find . -name "run.log" | xargs rm -rf # use black.list to control CI tests filename="black.list" -models=$(ls -d */ | grep -v -F -f "$filename") +models=$(ls -d */ | grep -v -F -f "$filename" | awk -F '/' '{print $1}') num_of_models=$(ls -d */ | grep -v -F -f "$filename" | wc -l) counter=1 @@ -18,6 +18,11 @@ for model in $models do echo "[X2Paddle-Caffe] ${counter}/${num_of_models} $model ..." cd $model + + # make default result is `Failed` in case of `result.txt` not generated + touch result.txt + echo $model ">>>Failed"> result.txt + sh run_convert.sh $model 1>run.log 2>run.err & cd .. counter=$(($counter+1)) diff --git a/test_benchmark/Caffe/tools/log_summary.sh b/test_benchmark/Caffe/tools/log_summary.sh index 1142718ce..4dc318a61 100644 --- a/test_benchmark/Caffe/tools/log_summary.sh +++ b/test_benchmark/Caffe/tools/log_summary.sh @@ -10,7 +10,7 @@ cd .. # use black.list to control CI tests filename="black.list" -models=$(ls -d */ | grep -v -F -f "$filename") +models=$(ls -d */ | grep -v -F -f "$filename" | awk -F '/' '{print $1}') for model in $models do diff --git a/test_benchmark/ONNX/convert.sh b/test_benchmark/ONNX/convert.sh index 8fc61701a..7b25275b9 100644 --- a/test_benchmark/ONNX/convert.sh +++ b/test_benchmark/ONNX/convert.sh @@ -10,7 +10,7 @@ find . -name "run.err" | xargs rm -rf # use black.list to control CI tests filename="black.list" -models=$(ls -d */ | grep -v -F -f "$filename") +models=$(ls -d */ | grep -v -F -f "$filename" | awk -F '/' '{print $1}') num_of_models=$(ls -d */ | grep -v -F -f "$filename" | wc -l) counter=1 @@ -18,6 +18,11 @@ for model in $models do echo "[X2Paddle-ONNX] ${counter}/${num_of_models} $model ..." cd $model + + # make default result is `Failed` in case of `result.txt` not generated + touch result.txt + echo $model ">>>Failed"> result.txt + sh run_convert.sh $model 1>run.log 2>run.err & cd .. counter=$(($counter+1)) diff --git a/test_benchmark/ONNX/tools/log_summary.sh b/test_benchmark/ONNX/tools/log_summary.sh index 1142718ce..4dc318a61 100644 --- a/test_benchmark/ONNX/tools/log_summary.sh +++ b/test_benchmark/ONNX/tools/log_summary.sh @@ -10,7 +10,7 @@ cd .. # use black.list to control CI tests filename="black.list" -models=$(ls -d */ | grep -v -F -f "$filename") +models=$(ls -d */ | grep -v -F -f "$filename" | awk -F '/' '{print $1}') for model in $models do diff --git a/test_benchmark/PyTorch/black.list b/test_benchmark/PyTorch/black.list index c5cd88fe9..b1eecc70f 100644 --- a/test_benchmark/PyTorch/black.list +++ b/test_benchmark/PyTorch/black.list @@ -1,4 +1,4 @@ -AlexNet +ACG_UnitTest BASNet BertForMaskedLM_dccuchile BertModel_SpanBert diff --git a/test_benchmark/PyTorch/convert.sh b/test_benchmark/PyTorch/convert.sh index 0f8f67873..4c80dfed0 100644 --- a/test_benchmark/PyTorch/convert.sh +++ b/test_benchmark/PyTorch/convert.sh @@ -19,7 +19,7 @@ find . -name "run.err" | xargs rm -rf # use black.list to control CI tests filename="black.list" -models=$(ls -d */ | grep -v -F -f "$filename") +models=$(ls -d */ | grep -v -F -f "$filename" | awk -F '/' '{print $1}') num_of_models=$(ls -d */ | grep -v -F -f "$filename" | wc -l) counter=1 @@ -27,6 +27,11 @@ for model in $models do echo "[X2Paddle-PyTorch] ${counter}/${num_of_models} $model ..." cd $model + + # make default result is `Failed` in case of `result.txt` not generated + touch result.txt + echo $model ">>>Failed"> result.txt + sh run_convert.sh 1>run.log 2>run.err & cd .. counter=$(($counter+1)) diff --git a/test_benchmark/PyTorch/tools/log_summary.sh b/test_benchmark/PyTorch/tools/log_summary.sh index 1142718ce..4dc318a61 100644 --- a/test_benchmark/PyTorch/tools/log_summary.sh +++ b/test_benchmark/PyTorch/tools/log_summary.sh @@ -10,7 +10,7 @@ cd .. # use black.list to control CI tests filename="black.list" -models=$(ls -d */ | grep -v -F -f "$filename") +models=$(ls -d */ | grep -v -F -f "$filename" | awk -F '/' '{print $1}') for model in $models do diff --git a/test_benchmark/TensorFlow/convert.sh b/test_benchmark/TensorFlow/convert.sh index 2259fce14..25e476bd8 100644 --- a/test_benchmark/TensorFlow/convert.sh +++ b/test_benchmark/TensorFlow/convert.sh @@ -10,7 +10,7 @@ find . -name "run.err" | xargs rm -rf # use black.list to control CI tests filename="black.list" -models=$(ls -d */ | grep -v -F -f "$filename") +models=$(ls -d */ | grep -v -F -f "$filename" | awk -F '/' '{print $1}') num_of_models=$(ls -d */ | grep -v -F -f "$filename" | wc -l) counter=1 @@ -18,6 +18,11 @@ for model in $models do echo "[X2Paddle-TensorFlow] ${counter}/${num_of_models} $model ..." cd $model + + # make default result is `Failed` in case of `result.txt` not generated + touch result.txt + echo $model ">>>Failed"> result.txt + sh run_convert.sh $model 1>run.log 2>run.err & cd .. counter=$(($counter+1)) diff --git a/test_benchmark/TensorFlow/tools/log_summary.sh b/test_benchmark/TensorFlow/tools/log_summary.sh index 1142718ce..4dc318a61 100644 --- a/test_benchmark/TensorFlow/tools/log_summary.sh +++ b/test_benchmark/TensorFlow/tools/log_summary.sh @@ -10,7 +10,7 @@ cd .. # use black.list to control CI tests filename="black.list" -models=$(ls -d */ | grep -v -F -f "$filename") +models=$(ls -d */ | grep -v -F -f "$filename" | awk -F '/' '{print $1}') for model in $models do From d8df85da99b3bf8650cff7fb9bc8fb0ba2a3bc6a Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 12:31:24 +0800 Subject: [PATCH 05/26] [Restore] black.list --- test_benchmark/PyTorch/black.list | 1 + 1 file changed, 1 insertion(+) diff --git a/test_benchmark/PyTorch/black.list b/test_benchmark/PyTorch/black.list index b1eecc70f..fae6e32d4 100644 --- a/test_benchmark/PyTorch/black.list +++ b/test_benchmark/PyTorch/black.list @@ -1,4 +1,5 @@ ACG_UnitTest +AlexNet BASNet BertForMaskedLM_dccuchile BertModel_SpanBert From 75312b93f0cb4bd55a8305776faac8b3a6ea15e4 Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 13:39:15 +0800 Subject: [PATCH 06/26] [Fix] use logger instead of logging --- test_autoscan/onnx/auto_scan_test.py | 26 ++++++++++++++------------ test_autoscan/torch/auto_scan_test.py | 24 +++++++++++++----------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/test_autoscan/onnx/auto_scan_test.py b/test_autoscan/onnx/auto_scan_test.py index 50e1ee2e5..a2c157385 100644 --- a/test_autoscan/onnx/auto_scan_test.py +++ b/test_autoscan/onnx/auto_scan_test.py @@ -30,6 +30,8 @@ paddle.set_device("cpu") logging.basicConfig(level=logging.INFO, format="%(message)s") +logger = logging.getLogger(__name__) +logger.setLevel(logging.INFO) settings.register_profile("ci", max_examples=100, @@ -97,37 +99,37 @@ def run_test(configs): loop_func = given(generator())(run_test) if reproduce is not None: loop_func = reproduce(loop_func) - logging.info("Start to running test of {}".format(type(self))) + logger.info("Start to running test of {}".format(type(self))) paddle.disable_static() loop_func() - logging.info( + logger.info( "===================Statistical Information===================") - logging.info("Number of Generated Programs: {}".format( + logger.info("Number of Generated Programs: {}".format( self.num_ran_tests)) - logging.info("Number of Ignore Programs: {}".format( + logger.info("Number of Ignore Programs: {}".format( self.num_ignore_tests)) successful_ran_programs = int(self.num_ran_tests - self.num_ignore_tests) if successful_ran_programs < min_success_num: - logging.warning("satisfied_programs = ran_programs") - logging.error( + logger.warning("satisfied_programs = ran_programs") + logger.error( "At least {} programs need to ran successfully, but now only about {} programs satisfied." .format(min_success_num, successful_ran_programs)) assert False used_time = time.time() - start_time - logging.info("Used time: {} s".format(round(used_time, 2))) + logger.info("Used time: {} s".format(round(used_time, 2))) if max_duration > 0 and used_time > max_duration: - logging.error( + logger.error( "The duration exceeds {} seconds, if this is neccessary, try to set a larger number for parameter `max_duration`." .format(max_duration)) assert False def run_test(self, configs): config, attrs = configs - logging.info("Run configs: {}".format(config)) - logging.info("Run attrs: {}".format(attrs)) + logger.info("Run configs: {}".format(config)) + logger.info("Run attrs: {}".format(attrs)) assert "op_names" in config.keys( ), "config must include op_names in dict keys" @@ -220,9 +222,9 @@ def run_test(self, configs): randtool("float", -2, 2, shape).astype(input_type[j])) obj.set_input_data("input_data", tuple(input_data)) - logging.info("Now Run >>> dtype: {}, op_name: {}".format( + logger.info("Now Run >>> dtype: {}, op_name: {}".format( input_type, op_names[i])) obj.run() if len(input_type_list) == 0: obj.run() - logging.info("Run Successfully!") + logger.info("Run Successfully!") diff --git a/test_autoscan/torch/auto_scan_test.py b/test_autoscan/torch/auto_scan_test.py index 8b91ed052..6701d3d74 100644 --- a/test_autoscan/torch/auto_scan_test.py +++ b/test_autoscan/torch/auto_scan_test.py @@ -32,6 +32,8 @@ paddle.set_device("cpu") logging.basicConfig(level=logging.INFO, format="%(message)s") +logger = logging.getLogger(__name__) +logger.setLevel(logging.INFO) settings.register_profile("ci", max_examples=100, @@ -112,36 +114,36 @@ def run_test(configs): loop_func = given(generator())(run_test) if reproduce is not None: loop_func = reproduce(loop_func) - logging.info("Start to running test of {}".format(type(self))) + logger.info("Start to running test of {}".format(type(self))) paddle.disable_static() loop_func() - logging.info( + logger.info( "===================Statistical Information===================") - logging.info("Number of Generated Programs: {}".format( + logger.info("Number of Generated Programs: {}".format( self.num_ran_tests)) - logging.info("Number of Ignore Programs: {}".format( + logger.info("Number of Ignore Programs: {}".format( self.num_ignore_tests)) successful_ran_programs = int(self.num_ran_tests - self.num_ignore_tests) if successful_ran_programs < min_success_num: - logging.warning("satisfied_programs = ran_programs") - logging.error( + logger.warning("satisfied_programs = ran_programs") + logger.error( "At least {} programs need to ran successfully, but now only about {} programs satisfied." .format(min_success_num, successful_ran_programs)) assert False used_time = time.time() - start_time - logging.info("Used time: {} s".format(round(used_time, 2))) + logger.info("Used time: {} s".format(round(used_time, 2))) if max_duration > 0 and used_time > max_duration: - logging.error( + logger.error( "The duration exceeds {} seconds, if this is neccessary, try to set a larger number for parameter `max_duration`." .format(max_duration)) assert False def run_test(self, configs): config, models = configs - logging.info("Run configs: {}".format(config)) + logger.info("Run configs: {}".format(config)) assert "op_names" in config.keys( ), "config must include op_names in dict keys" @@ -218,9 +220,9 @@ def run_test(self, configs): randtool("float", -2, 2, shape).astype(input_type[j])) obj.set_input_data("input_data", tuple(input_data)) - logging.info("Now Run >>> dtype: {}, op_name: {}".format( + logger.info("Now Run >>> dtype: {}, op_name: {}".format( input_type, op_names[i])) obj.run() if len(input_type_list) == 0: obj.run() - logging.info("Run Successfully!") + logger.info("Run Successfully!") From 1eab32a625cc00f3084d757099733cfc69f77f4a Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 14:03:48 +0800 Subject: [PATCH 07/26] [Debug] make max_examples=1 --- test_autoscan/onnx/test_auto_scan_abs.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test_autoscan/onnx/test_auto_scan_abs.py b/test_autoscan/onnx/test_auto_scan_abs.py index fe750ca0e..2a61dfaa5 100644 --- a/test_autoscan/onnx/test_auto_scan_abs.py +++ b/test_autoscan/onnx/test_auto_scan_abs.py @@ -51,7 +51,8 @@ def sample_convert_config(self, draw): return (config, attrs) def test(self): - self.run_and_statis(max_examples=30) + # self.run_and_statis(max_examples=30) + self.run_and_statis(max_examples=1) if __name__ == "__main__": From 1068e8332fd9d3fc8ce8750a573a391a94337ee0 Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 14:17:18 +0800 Subject: [PATCH 08/26] Revert "[Debug] make max_examples=1" This reverts commit 1eab32a625cc00f3084d757099733cfc69f77f4a. --- test_autoscan/onnx/test_auto_scan_abs.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test_autoscan/onnx/test_auto_scan_abs.py b/test_autoscan/onnx/test_auto_scan_abs.py index 2a61dfaa5..fe750ca0e 100644 --- a/test_autoscan/onnx/test_auto_scan_abs.py +++ b/test_autoscan/onnx/test_auto_scan_abs.py @@ -51,8 +51,7 @@ def sample_convert_config(self, draw): return (config, attrs) def test(self): - # self.run_and_statis(max_examples=30) - self.run_and_statis(max_examples=1) + self.run_and_statis(max_examples=30) if __name__ == "__main__": From 82eeca4db15dea524d6806b14a4086bef17032b3 Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 16:00:06 +0800 Subject: [PATCH 09/26] [Debug] add logger --- test_autoscan/onnx/onnxbase.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/test_autoscan/onnx/onnxbase.py b/test_autoscan/onnx/onnxbase.py index 240512d19..af714cdc4 100644 --- a/test_autoscan/onnx/onnxbase.py +++ b/test_autoscan/onnx/onnxbase.py @@ -26,6 +26,10 @@ from onnx import TensorProto from onnxruntime import InferenceSession +logging.basicConfig(level=logging.INFO, format="%(message)s") +logger = logging.getLogger(__name__) +logger.setLevel(logging.INFO) + DTYPE_ONNX_STR_MAP = { 'float32': TensorProto.FLOAT, 'float64': TensorProto.DOUBLE, @@ -167,6 +171,9 @@ def _mkdir(self): """ make dir to save all """ + + logger.info(">>> _mkdir ...") + save_path = os.path.join(self.pwd, self.name) if not os.path.exists(save_path): os.mkdir(save_path) @@ -175,11 +182,19 @@ def _onnx_to_paddle(self, ver): """ convert onnx to paddle """ + logger.info(">>> _onnx_to_paddle ...") + from x2paddle.convert import onnx2paddle + + logger.info(">>> from x2paddle.convert import onnx2paddle ...") + onnx_path = os.path.join(self.pwd, self.name, self.name + '_' + str(ver) + '.onnx') paddle_path = os.path.join(self.pwd, self.name, self.name + '_' + str(ver) + '_paddle') + + logger.info(">>> onnx2paddle ...") + onnx2paddle(onnx_path, paddle_path, convert_to_lite=False, @@ -291,6 +306,8 @@ def _mk_onnx_graph(self, ver): """ make onnx graph """ + logger.info(">>> _mk_onnx_graph ... make_node") + node = onnx.helper.make_node( self.op_type, inputs=self.inputs_name, @@ -324,8 +341,14 @@ def run(self): 3. use onnx to make res 4. compare diff """ + + logger.info(">>> run ...") + self._mkdir() for place in self.places: + + logger.info(">>> place ..." + str(place)) + paddle.set_device(place) onnx_res = {} paddle_res = {} From c907537b106763e073816e34c644d759629cb4a8 Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 18:45:08 +0800 Subject: [PATCH 10/26] [Debug] print log --- test_autoscan/onnx/onnxbase.py | 14 +++++++------- test_autoscan/onnx/test_auto_scan_abs.py | 2 ++ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/test_autoscan/onnx/onnxbase.py b/test_autoscan/onnx/onnxbase.py index af714cdc4..bf470afa1 100644 --- a/test_autoscan/onnx/onnxbase.py +++ b/test_autoscan/onnx/onnxbase.py @@ -172,7 +172,7 @@ def _mkdir(self): make dir to save all """ - logger.info(">>> _mkdir ...") + print(">>> _mkdir ...") save_path = os.path.join(self.pwd, self.name) if not os.path.exists(save_path): @@ -182,18 +182,18 @@ def _onnx_to_paddle(self, ver): """ convert onnx to paddle """ - logger.info(">>> _onnx_to_paddle ...") + print(">>> _onnx_to_paddle ...") from x2paddle.convert import onnx2paddle - logger.info(">>> from x2paddle.convert import onnx2paddle ...") + print(">>> from x2paddle.convert import onnx2paddle ...") onnx_path = os.path.join(self.pwd, self.name, self.name + '_' + str(ver) + '.onnx') paddle_path = os.path.join(self.pwd, self.name, self.name + '_' + str(ver) + '_paddle') - logger.info(">>> onnx2paddle ...") + print(">>> onnx2paddle ...") onnx2paddle(onnx_path, paddle_path, @@ -306,7 +306,7 @@ def _mk_onnx_graph(self, ver): """ make onnx graph """ - logger.info(">>> _mk_onnx_graph ... make_node") + print(">>> _mk_onnx_graph ... make_node") node = onnx.helper.make_node( self.op_type, @@ -342,12 +342,12 @@ def run(self): 4. compare diff """ - logger.info(">>> run ...") + print(">>> run ...") self._mkdir() for place in self.places: - logger.info(">>> place ..." + str(place)) + print(">>> place ..." + str(place)) paddle.set_device(place) onnx_res = {} diff --git a/test_autoscan/onnx/test_auto_scan_abs.py b/test_autoscan/onnx/test_auto_scan_abs.py index fe750ca0e..8d2bd3fb7 100644 --- a/test_autoscan/onnx/test_auto_scan_abs.py +++ b/test_autoscan/onnx/test_auto_scan_abs.py @@ -51,6 +51,8 @@ def sample_convert_config(self, draw): return (config, attrs) def test(self): + print('>>> test_auto_scan_abs.py::test') + self.run_and_statis(max_examples=30) From 23299076940da5c6f64385d2e765959ad6c268ec Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 22:15:29 +0800 Subject: [PATCH 11/26] [Debug] echo bash --- test_autoscan/run_autoscan_onnx.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test_autoscan/run_autoscan_onnx.sh b/test_autoscan/run_autoscan_onnx.sh index df8d1aec9..e9fe183c1 100644 --- a/test_autoscan/run_autoscan_onnx.sh +++ b/test_autoscan/run_autoscan_onnx.sh @@ -24,6 +24,9 @@ for var in ${file_arr[@]} do log_name=${logs_path}/${var}.log echo " Now start test: ${var}" + + echo " >>> begin test ..." + python ${var} > ${log_name} 2>&1 done From 3b474a7d0959690e54460e4a880ac1487a7793bc Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 22:25:01 +0800 Subject: [PATCH 12/26] [Debug] echo output --- test_autoscan/run_autoscan_onnx.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test_autoscan/run_autoscan_onnx.sh b/test_autoscan/run_autoscan_onnx.sh index e9fe183c1..19f5a4de1 100644 --- a/test_autoscan/run_autoscan_onnx.sh +++ b/test_autoscan/run_autoscan_onnx.sh @@ -27,7 +27,8 @@ do echo " >>> begin test ..." - python ${var} > ${log_name} 2>&1 + # python ${var} > ${log_name} 2>&1 + python ${var} done From 9370681de18f3423250c373835048a968ea8e736 Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 22:31:06 +0800 Subject: [PATCH 13/26] [Debug] logger --- test_autoscan/onnx/onnxbase.py | 14 +++++++------- test_autoscan/onnx/test_auto_scan_abs.py | 8 +++++++- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/test_autoscan/onnx/onnxbase.py b/test_autoscan/onnx/onnxbase.py index bf470afa1..af714cdc4 100644 --- a/test_autoscan/onnx/onnxbase.py +++ b/test_autoscan/onnx/onnxbase.py @@ -172,7 +172,7 @@ def _mkdir(self): make dir to save all """ - print(">>> _mkdir ...") + logger.info(">>> _mkdir ...") save_path = os.path.join(self.pwd, self.name) if not os.path.exists(save_path): @@ -182,18 +182,18 @@ def _onnx_to_paddle(self, ver): """ convert onnx to paddle """ - print(">>> _onnx_to_paddle ...") + logger.info(">>> _onnx_to_paddle ...") from x2paddle.convert import onnx2paddle - print(">>> from x2paddle.convert import onnx2paddle ...") + logger.info(">>> from x2paddle.convert import onnx2paddle ...") onnx_path = os.path.join(self.pwd, self.name, self.name + '_' + str(ver) + '.onnx') paddle_path = os.path.join(self.pwd, self.name, self.name + '_' + str(ver) + '_paddle') - print(">>> onnx2paddle ...") + logger.info(">>> onnx2paddle ...") onnx2paddle(onnx_path, paddle_path, @@ -306,7 +306,7 @@ def _mk_onnx_graph(self, ver): """ make onnx graph """ - print(">>> _mk_onnx_graph ... make_node") + logger.info(">>> _mk_onnx_graph ... make_node") node = onnx.helper.make_node( self.op_type, @@ -342,12 +342,12 @@ def run(self): 4. compare diff """ - print(">>> run ...") + logger.info(">>> run ...") self._mkdir() for place in self.places: - print(">>> place ..." + str(place)) + logger.info(">>> place ..." + str(place)) paddle.set_device(place) onnx_res = {} diff --git a/test_autoscan/onnx/test_auto_scan_abs.py b/test_autoscan/onnx/test_auto_scan_abs.py index 8d2bd3fb7..3773bfac2 100644 --- a/test_autoscan/onnx/test_auto_scan_abs.py +++ b/test_autoscan/onnx/test_auto_scan_abs.py @@ -19,6 +19,12 @@ import numpy as np import unittest +import logging + +logging.basicConfig(level=logging.INFO, format="%(message)s") +logger = logging.getLogger(__name__) +logger.setLevel(logging.INFO) + class TestAbsConvert(OPConvertAutoScanTest): """ @@ -51,7 +57,7 @@ def sample_convert_config(self, draw): return (config, attrs) def test(self): - print('>>> test_auto_scan_abs.py::test') + logger.info('>>> test_auto_scan_abs.py::test') self.run_and_statis(max_examples=30) From 1a677be5d40320424ff6ed23a562977dc7a62c01 Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 22:39:15 +0800 Subject: [PATCH 14/26] [Debug] logger onnx2paddle --- x2paddle/convert.py | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/x2paddle/convert.py b/x2paddle/convert.py index 0a7e83a29..56ff967c5 100644 --- a/x2paddle/convert.py +++ b/x2paddle/convert.py @@ -20,6 +20,10 @@ import logging import time +logging.basicConfig(level=logging.INFO, format="%(message)s") +logger = logging.getLogger(__name__) +logger.setLevel(logging.INFO) + def arg_parser(): parser = argparse.ArgumentParser() @@ -275,6 +279,9 @@ def onnx2paddle(model_path, lite_model_type="naive_buffer", disable_feedback=False, enable_onnx_checker=True): + + logger.info(">>> onnx2paddle ...") + # for convert_id time_info = int(time.time()) if not disable_feedback: @@ -287,27 +294,27 @@ def onnx2paddle(model_path, v0, v1, v2 = version.split('.') version_sum = int(v0) * 100 + int(v1) * 10 + int(v2) if version_sum < 160: - logging.info("[ERROR] onnx>=1.6.0 is required") + logger.info("[ERROR] onnx>=1.6.0 is required") return except: - logging.info( + logger.info( "[ERROR] onnx is not installed, use \"pip install onnx==1.6.0\".") return - logging.info("Now translating model from onnx to paddle.") + logger.info("Now translating model from onnx to paddle.") # Do optimizer if enable_optim: from onnxsim import simplify onnx_net_opt_path = model_path[:-5] + '_opt.onnx' - logging.info("ONNX Model optimizing ...") + logger.info("ONNX Model optimizing ...") # load your predefined ONNX model model = onnx.load(model_path) # convert model model_simp, check = simplify(model) assert check, "Simplified ONNX model could not be validated" - logging.info("Export optimized onnx model:{}".format(onnx_net_opt_path)) + logger.info("Export optimized onnx model:{}".format(onnx_net_opt_path)) onnx.save(model_simp, onnx_net_opt_path) - logging.info("ONNX Model optimized!") + logger.info("ONNX Model optimized!") model_path = onnx_net_opt_path from x2paddle.decoder.onnx_decoder import ONNXDecoder @@ -315,36 +322,36 @@ def onnx2paddle(model_path, model = ONNXDecoder(model_path, enable_onnx_checker, input_shape_dict) mapper = ONNXOpMapper(model) mapper.paddle_graph.build() - logging.info("Model optimizing ...") + logger.info("Model optimizing ...") from x2paddle.optimizer.optimizer import GraphOptimizer graph_opt = GraphOptimizer(source_frame="onnx") graph_opt.optimize(mapper.paddle_graph) - logging.info("Model optimized.") + logger.info("Model optimized.") mapper.paddle_graph.gen_model(save_dir) - logging.info("Successfully exported Paddle static graph model!") + logger.info("Successfully exported Paddle static graph model!") if not disable_feedback: ConverterCheck(task="ONNX", time_info=time_info, convert_state="Success").start() if convert_to_lite: - logging.info("Now translating model from Paddle to Paddle Lite ...") + logger.info("Now translating model from Paddle to Paddle Lite ...") if not disable_feedback: ConverterCheck(task="ONNX", time_info=time_info, lite_state="Start").start() convert2lite(save_dir, lite_valid_places, lite_model_type) - logging.info("Successfully exported Paddle Lite support model!") + logger.info("Successfully exported Paddle Lite support model!") if not disable_feedback: ConverterCheck(task="ONNX", time_info=time_info, lite_state="Success").start() # for convert survey - logging.info("================================================") - logging.info("") - logging.info( + logger.info("================================================") + logger.info("") + logger.info( "Model Converted! Fill this survey to help X2Paddle better, https://iwenjuan.baidu.com/?code=npyd51 " ) - logging.info("") - logging.info("================================================") + logger.info("") + logger.info("================================================") def pytorch2paddle(module, From 5cdf14065af71162dbb800ea50501a13bb7a6cd3 Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 22:55:21 +0800 Subject: [PATCH 15/26] [Debug] logger after model converted --- test_autoscan/onnx/onnxbase.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test_autoscan/onnx/onnxbase.py b/test_autoscan/onnx/onnxbase.py index af714cdc4..94fcbf16b 100644 --- a/test_autoscan/onnx/onnxbase.py +++ b/test_autoscan/onnx/onnxbase.py @@ -48,6 +48,9 @@ def compare(result, expect, delta=1e-10, rtol=1e-10): delta: absolute error rtol: relative error """ + + logger.info(">>> compare ...") + if type(result) == np.ndarray: if type(expect) == list: expect = expect[0] @@ -201,10 +204,14 @@ def _onnx_to_paddle(self, ver): enable_onnx_checker=self.enable_onnx_checker, disable_feedback=True) + logger.info(">>> onnx2paddle finished ...") + def _mk_paddle_res(self, ver): """ make paddle res """ + logger.info(">>> _mk_paddle_res ...") + # input data paddle_tensor_feed = list() result = list() @@ -272,15 +279,24 @@ def _mk_paddle_res(self, ver): result = (result, ) else: result = (result.numpy(), ) + + logger.info(">>> _mk_paddle_res finished ...") + return result def _mk_onnx_res(self, ver): """ make onnx res """ + + logger.info('>>> _mk_onnx_res InferenceSession...') + sess = InferenceSession( os.path.join(self.pwd, self.name, self.name + '_' + str(ver) + '.onnx')) + + logger.info('>>> sess.run ...') + ort_outs = sess.run(output_names=None, input_feed=self.input_feed) return ort_outs From 70f75b808b0db3191b075e400924a1efd5fb079d Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 23:08:45 +0800 Subject: [PATCH 16/26] [Debug] logger _mk_paddle_res --- test_autoscan/onnx/onnxbase.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/test_autoscan/onnx/onnxbase.py b/test_autoscan/onnx/onnxbase.py index 94fcbf16b..caa063036 100644 --- a/test_autoscan/onnx/onnxbase.py +++ b/test_autoscan/onnx/onnxbase.py @@ -224,6 +224,8 @@ def _mk_paddle_res(self, ver): self.run_dynamic = True if self.run_dynamic: + logger.info(">>> self.run_dynamic...") + paddle_path = os.path.join(self.pwd, self.name, self.name + '_' + str(ver) + '_paddle/') restore = paddle.load(os.path.join(paddle_path, "model.pdparams")) @@ -235,7 +237,12 @@ def _mk_paddle_res(self, ver): model.set_dict(restore) model.eval() result = model(*paddle_tensor_feed) + + logger.info(">>> self.run_dynamic finished...") + else: + logger.info(">>> NOT self.run_dynamic...") + paddle_model_path = os.path.join( self.pwd, self.name, self.name + '_' + str(ver) + '_paddle/inference_model/model.pdmodel') @@ -246,6 +253,9 @@ def _mk_paddle_res(self, ver): config.set_prog_file(paddle_model_path) if os.path.exists(paddle_param_path): config.set_params_file(paddle_param_path) + + logger.info(">>> config.enable_use_gpu...") + # initial GPU memory(M), device ID config.enable_use_gpu(200, 0) # optimize graph and fuse op @@ -258,10 +268,19 @@ def _mk_paddle_res(self, ver): predictor = create_predictor(config) input_names = predictor.get_input_names() output_names = predictor.get_output_names() + + logger.info(">>> copy_from_cpu...") + for i in range(len(input_names)): input_tensor = predictor.get_input_handle(input_names[i]) input_tensor.copy_from_cpu(self.input_feed[self.inputs_name[i]]) + + logger.info(">>> predictor.run...") + predictor.run() + + logger.info(">>> predictor.run finished...") + for output_name in output_names: output_tensor = predictor.get_output_handle(output_name) result.append(output_tensor.copy_to_cpu()) From c5ac74eb153b62970ca5f0483a2a0392edc0238a Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 23:13:03 +0800 Subject: [PATCH 17/26] [Debug] logger _mk_paddle_res gpu memory --- test_autoscan/onnx/onnxbase.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test_autoscan/onnx/onnxbase.py b/test_autoscan/onnx/onnxbase.py index caa063036..e3622d817 100644 --- a/test_autoscan/onnx/onnxbase.py +++ b/test_autoscan/onnx/onnxbase.py @@ -258,9 +258,15 @@ def _mk_paddle_res(self, ver): # initial GPU memory(M), device ID config.enable_use_gpu(200, 0) + + logger.info(">>> config.enable_use_gpu finished...") + # optimize graph and fuse op config.switch_ir_optim(False) config.enable_memory_optim() + + logger.info(">>> enable_memory_optim finished...") + # disable feed, fetch OP, needed by zero_copy_run config.switch_use_feed_fetch_ops(False) config.disable_glog_info() From c0c95ddeaef26bb4617ae9e45042b7d8f417b710 Mon Sep 17 00:00:00 2001 From: megemini Date: Thu, 17 Oct 2024 23:38:46 +0800 Subject: [PATCH 18/26] [Debug] logger _mk_paddle_res more --- test_autoscan/onnx/onnxbase.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/test_autoscan/onnx/onnxbase.py b/test_autoscan/onnx/onnxbase.py index e3622d817..7236b10ba 100644 --- a/test_autoscan/onnx/onnxbase.py +++ b/test_autoscan/onnx/onnxbase.py @@ -269,9 +269,21 @@ def _mk_paddle_res(self, ver): # disable feed, fetch OP, needed by zero_copy_run config.switch_use_feed_fetch_ops(False) + + logger.info(">>> config.disable_glog_info...") + config.disable_glog_info() + + logger.info(">>> config.pass_builder...") + pass_builder = config.pass_builder() + + logger.info(">>> create_predictor(config)...") + predictor = create_predictor(config) + + logger.info(">>> predictor.get_input_names...") + input_names = predictor.get_input_names() output_names = predictor.get_output_names() From 7700a01ecd24a21df5b42725fd7cbc76b8f472da Mon Sep 17 00:00:00 2001 From: megemini Date: Fri, 18 Oct 2024 13:50:58 +0800 Subject: [PATCH 19/26] [Debug] force run dynamic --- test_autoscan/onnx/onnxbase.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test_autoscan/onnx/onnxbase.py b/test_autoscan/onnx/onnxbase.py index 7236b10ba..40d656bf8 100644 --- a/test_autoscan/onnx/onnxbase.py +++ b/test_autoscan/onnx/onnxbase.py @@ -223,6 +223,9 @@ def _mk_paddle_res(self, ver): if "float64" in self.inputs_dtype: self.run_dynamic = True + # TODO(megemini): create_predictor stuck + self.run_dynamic = True + if self.run_dynamic: logger.info(">>> self.run_dynamic...") From 657b37201bfa9c0e330c23976b483e4339058519 Mon Sep 17 00:00:00 2001 From: megemini Date: Fri, 18 Oct 2024 14:03:07 +0800 Subject: [PATCH 20/26] [Debug] force run dynamic torhc --- test_autoscan/run_autoscan_onnx.sh | 4 ++-- test_autoscan/torch/torchbase.py | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/test_autoscan/run_autoscan_onnx.sh b/test_autoscan/run_autoscan_onnx.sh index 19f5a4de1..0e711e3f2 100644 --- a/test_autoscan/run_autoscan_onnx.sh +++ b/test_autoscan/run_autoscan_onnx.sh @@ -27,8 +27,8 @@ do echo " >>> begin test ..." - # python ${var} > ${log_name} 2>&1 - python ${var} + python ${var} > ${log_name} 2>&1 + # python ${var} done diff --git a/test_autoscan/torch/torchbase.py b/test_autoscan/torch/torchbase.py index 435313271..0f66f513c 100644 --- a/test_autoscan/torch/torchbase.py +++ b/test_autoscan/torch/torchbase.py @@ -180,6 +180,9 @@ def _mk_paddle_res(self, ): if "float64" in self.inputs_dtype: self.run_dynamic = True + # TODO(megemini): create_predictor stuck + self.run_dynamic = True + if self.run_dynamic: paddle_path = os.path.join(self.pwd, self.name, self.name + '_paddle/') From 4f487bdac8fc84c9a3fc757f760a3dcbfe257d17 Mon Sep 17 00:00:00 2001 From: megemini Date: Fri, 18 Oct 2024 18:24:41 +0800 Subject: [PATCH 21/26] [Debug] glog --- test_autoscan/onnx/onnxbase.py | 5 +++-- test_autoscan/run_autoscan_onnx.sh | 6 ++++-- test_autoscan/run_autoscan_torch.sh | 3 +++ test_autoscan/torch/torchbase.py | 7 +++++-- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/test_autoscan/onnx/onnxbase.py b/test_autoscan/onnx/onnxbase.py index 40d656bf8..d4360fd11 100644 --- a/test_autoscan/onnx/onnxbase.py +++ b/test_autoscan/onnx/onnxbase.py @@ -224,7 +224,7 @@ def _mk_paddle_res(self, ver): self.run_dynamic = True # TODO(megemini): create_predictor stuck - self.run_dynamic = True + # self.run_dynamic = True if self.run_dynamic: logger.info(">>> self.run_dynamic...") @@ -275,7 +275,8 @@ def _mk_paddle_res(self, ver): logger.info(">>> config.disable_glog_info...") - config.disable_glog_info() + # TODO(megemini): debug + # config.disable_glog_info() logger.info(">>> config.pass_builder...") diff --git a/test_autoscan/run_autoscan_onnx.sh b/test_autoscan/run_autoscan_onnx.sh index 0e711e3f2..283cea123 100644 --- a/test_autoscan/run_autoscan_onnx.sh +++ b/test_autoscan/run_autoscan_onnx.sh @@ -27,8 +27,7 @@ do echo " >>> begin test ..." - python ${var} > ${log_name} 2>&1 - # python ${var} + GLOG_v=3 python ${var} > ${log_name} 2>&1 done @@ -48,6 +47,9 @@ do cat ${log_name} fi + # TODO(megemini): debug, only run one test + break + done tar zcvf logs.tar.gz logs diff --git a/test_autoscan/run_autoscan_torch.sh b/test_autoscan/run_autoscan_torch.sh index 0061acb7c..0e9f5259c 100644 --- a/test_autoscan/run_autoscan_torch.sh +++ b/test_autoscan/run_autoscan_torch.sh @@ -46,6 +46,9 @@ do cat ${log_name} fi + # TODO(megemini): debug, only run one test + break + done tar zcvf logs.tar.gz logs diff --git a/test_autoscan/torch/torchbase.py b/test_autoscan/torch/torchbase.py index 0f66f513c..86c56b174 100644 --- a/test_autoscan/torch/torchbase.py +++ b/test_autoscan/torch/torchbase.py @@ -181,7 +181,7 @@ def _mk_paddle_res(self, ): self.run_dynamic = True # TODO(megemini): create_predictor stuck - self.run_dynamic = True + # self.run_dynamic = True if self.run_dynamic: paddle_path = os.path.join(self.pwd, self.name, @@ -213,7 +213,10 @@ def _mk_paddle_res(self, ): config.enable_memory_optim() # disable feed, fetch OP, needed by zero_copy_run config.switch_use_feed_fetch_ops(False) - config.disable_glog_info() + + # TODO(megemini): debug + # config.disable_glog_info() + pass_builder = config.pass_builder() predictor = create_predictor(config) input_names = predictor.get_input_names() From 8901c8b0f913b0d912c5f4a5f7bbff346eccc78b Mon Sep 17 00:00:00 2001 From: megemini Date: Mon, 21 Oct 2024 12:12:25 +0800 Subject: [PATCH 22/26] [Debug] log --- test_autoscan/run_autoscan_onnx.sh | 4 +++- test_autoscan/run_autoscan_torch.sh | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/test_autoscan/run_autoscan_onnx.sh b/test_autoscan/run_autoscan_onnx.sh index 283cea123..849512862 100644 --- a/test_autoscan/run_autoscan_onnx.sh +++ b/test_autoscan/run_autoscan_onnx.sh @@ -27,7 +27,9 @@ do echo " >>> begin test ..." - GLOG_v=3 python ${var} > ${log_name} 2>&1 + # TODO(megemini): debug + # GLOG_v=3 python ${var} > ${log_name} 2>&1 + GLOG_v=3 python ${var} done diff --git a/test_autoscan/run_autoscan_torch.sh b/test_autoscan/run_autoscan_torch.sh index 0e9f5259c..6c586c88e 100644 --- a/test_autoscan/run_autoscan_torch.sh +++ b/test_autoscan/run_autoscan_torch.sh @@ -28,7 +28,10 @@ for var in ${file_arr[@]} do log_name=${logs_path}/${var}.log echo " Now start test: ${var}" - python ${var} > ${log_name} 2>&1 + + # TODO(megemini): debug + # python ${var} > ${log_name} 2>&1 + GLOG_v=3 python ${var} done From 2956b4ef76fb86199cda8a8ed861ae0cf0284c1f Mon Sep 17 00:00:00 2001 From: megemini Date: Mon, 21 Oct 2024 12:17:02 +0800 Subject: [PATCH 23/26] [Debug] log --- test_autoscan/run_autoscan_torch.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_autoscan/run_autoscan_torch.sh b/test_autoscan/run_autoscan_torch.sh index 6c586c88e..4ebea6981 100644 --- a/test_autoscan/run_autoscan_torch.sh +++ b/test_autoscan/run_autoscan_torch.sh @@ -29,7 +29,7 @@ do log_name=${logs_path}/${var}.log echo " Now start test: ${var}" - # TODO(megemini): debug + # TODO(megemini): # python ${var} > ${log_name} 2>&1 GLOG_v=3 python ${var} From 0bfffe38a9ffff16868396da723bfb54272cc186 Mon Sep 17 00:00:00 2001 From: megemini Date: Mon, 21 Oct 2024 17:35:18 +0800 Subject: [PATCH 24/26] [Debug] config.DisableMKLDNN --- test_autoscan/onnx/onnxbase.py | 2 ++ test_autoscan/torch/torchbase.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/test_autoscan/onnx/onnxbase.py b/test_autoscan/onnx/onnxbase.py index d4360fd11..e694158c9 100644 --- a/test_autoscan/onnx/onnxbase.py +++ b/test_autoscan/onnx/onnxbase.py @@ -277,6 +277,8 @@ def _mk_paddle_res(self, ver): # TODO(megemini): debug # config.disable_glog_info() + # TODO(megemini): + config.DisableMKLDNN() logger.info(">>> config.pass_builder...") diff --git a/test_autoscan/torch/torchbase.py b/test_autoscan/torch/torchbase.py index 86c56b174..b28938399 100644 --- a/test_autoscan/torch/torchbase.py +++ b/test_autoscan/torch/torchbase.py @@ -216,6 +216,8 @@ def _mk_paddle_res(self, ): # TODO(megemini): debug # config.disable_glog_info() + # TODO(megemini): + config.DisableMKLDNN() pass_builder = config.pass_builder() predictor = create_predictor(config) From 7ceff0af33d4af7dd10421abad86c4600ccc6851 Mon Sep 17 00:00:00 2001 From: megemini Date: Mon, 21 Oct 2024 17:39:32 +0800 Subject: [PATCH 25/26] [Debug] config.DisableMKLDNN --- test_autoscan/onnx/onnxbase.py | 5 ++++- test_autoscan/torch/torchbase.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/test_autoscan/onnx/onnxbase.py b/test_autoscan/onnx/onnxbase.py index e694158c9..d7f708be6 100644 --- a/test_autoscan/onnx/onnxbase.py +++ b/test_autoscan/onnx/onnxbase.py @@ -278,7 +278,10 @@ def _mk_paddle_res(self, ver): # TODO(megemini): debug # config.disable_glog_info() # TODO(megemini): - config.DisableMKLDNN() + try: + config.DisableMKLDNN() + except: + pass logger.info(">>> config.pass_builder...") diff --git a/test_autoscan/torch/torchbase.py b/test_autoscan/torch/torchbase.py index b28938399..f7c567465 100644 --- a/test_autoscan/torch/torchbase.py +++ b/test_autoscan/torch/torchbase.py @@ -217,7 +217,10 @@ def _mk_paddle_res(self, ): # TODO(megemini): debug # config.disable_glog_info() # TODO(megemini): - config.DisableMKLDNN() + try: + config.DisableMKLDNN() + except: + pass pass_builder = config.pass_builder() predictor = create_predictor(config) From 01ba114f043094a1f4959211cc0d042f1d68313c Mon Sep 17 00:00:00 2001 From: megemini Date: Tue, 12 Nov 2024 20:10:56 +0800 Subject: [PATCH 26/26] [Update] config.disable_mkldnn --- test_autoscan/onnx/onnxbase.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test_autoscan/onnx/onnxbase.py b/test_autoscan/onnx/onnxbase.py index d7f708be6..fca15b181 100644 --- a/test_autoscan/onnx/onnxbase.py +++ b/test_autoscan/onnx/onnxbase.py @@ -279,7 +279,7 @@ def _mk_paddle_res(self, ver): # config.disable_glog_info() # TODO(megemini): try: - config.DisableMKLDNN() + config.disable_mkldnn() except: pass