From 23e2cec4a0e336fd524165d7c6e602454fb2f2aa Mon Sep 17 00:00:00 2001 From: dongshuilong Date: Wed, 30 Mar 2022 08:31:35 +0000 Subject: [PATCH] cherry-pick fix log twice bug --- ppcls/engine/engine.py | 11 ++++++----- ppcls/static/train.py | 2 +- ppcls/utils/logger.py | 3 ++- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ppcls/engine/engine.py b/ppcls/engine/engine.py index 7f04221c..0900b472 100644 --- a/ppcls/engine/engine.py +++ b/ppcls/engine/engine.py @@ -71,7 +71,7 @@ class Engine(object): self.output_dir = self.config['Global']['output_dir'] log_file = os.path.join(self.output_dir, self.config["Arch"]["name"], f"{mode}.log") - init_logger(name='root', log_file=log_file) + init_logger(log_file=log_file) print_config(config) # init train_func and eval_func @@ -107,10 +107,11 @@ class Engine(object): self.scale_loss = 1.0 self.use_dynamic_loss_scaling = False if self.amp: - AMP_RELATED_FLAGS_SETTING = { - 'FLAGS_cudnn_batchnorm_spatial_persistent': 1, - 'FLAGS_max_inplace_grad_add': 8, - } + AMP_RELATED_FLAGS_SETTING = {'FLAGS_max_inplace_grad_add': 8, } + if paddle.is_compiled_with_cuda(): + AMP_RELATED_FLAGS_SETTING.update({ + 'FLAGS_cudnn_batchnorm_spatial_persistent': 1 + }) paddle.fluid.set_flags(AMP_RELATED_FLAGS_SETTING) if "class_num" in config["Global"]: diff --git a/ppcls/static/train.py b/ppcls/static/train.py index 9c03598b..075a0bdd 100644 --- a/ppcls/static/train.py +++ b/ppcls/static/train.py @@ -71,7 +71,7 @@ def main(args): log_file = os.path.join(global_config['output_dir'], config["Arch"]["name"], f"{mode}.log") - init_logger(name='root', log_file=log_file) + init_logger(log_file=log_file) print_config(config) if global_config.get("is_distributed", True): diff --git a/ppcls/utils/logger.py b/ppcls/utils/logger.py index d4faaa9b..bc8de364 100644 --- a/ppcls/utils/logger.py +++ b/ppcls/utils/logger.py @@ -22,7 +22,7 @@ import paddle.distributed as dist _logger = None -def init_logger(name='root', log_file=None, log_level=logging.INFO): +def init_logger(name='ppcls', log_file=None, log_level=logging.INFO): """Initialize and get a logger by name. If the logger has not been initialized, this method will initialize the logger by adding one or two handlers, otherwise the initialized logger will @@ -59,6 +59,7 @@ def init_logger(name='root', log_file=None, log_level=logging.INFO): _logger.setLevel(log_level) else: _logger.setLevel(logging.ERROR) + _logger.propagate = False def log_at_trainer0(log): -- GitLab