From 3e99395c298c4fa144f6414f6d1821c49552d93d Mon Sep 17 00:00:00 2001 From: Ma Zerun Date: Tue, 6 Dec 2022 16:50:41 +0800 Subject: [PATCH] [Fix] Fix a bug caused MMClsWandbHook stuck. (#1242) --- mmcls/core/hook/wandblogger_hook.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mmcls/core/hook/wandblogger_hook.py b/mmcls/core/hook/wandblogger_hook.py index 61ccfe90..ef67ee4d 100644 --- a/mmcls/core/hook/wandblogger_hook.py +++ b/mmcls/core/hook/wandblogger_hook.py @@ -3,7 +3,7 @@ import os.path as osp import numpy as np from mmcv.runner import HOOKS, BaseRunner -from mmcv.runner.dist_utils import master_only +from mmcv.runner.dist_utils import get_dist_info, master_only from mmcv.runner.hooks.checkpoint import CheckpointHook from mmcv.runner.hooks.evaluation import DistEvalHook, EvalHook from mmcv.runner.hooks.logger.wandb import WandbLoggerHook @@ -190,7 +190,6 @@ class MMClsWandbHook(WandbLoggerHook): # Log the evaluation table self._log_eval_table(runner.epoch + 1) - @master_only def after_train_iter(self, runner): if self.get_mode(runner) == 'train': # An ugly patch. The iter-based eval hook will call the @@ -201,6 +200,10 @@ class MMClsWandbHook(WandbLoggerHook): else: super(MMClsWandbHook, self).after_train_iter(runner) + rank, _ = get_dist_info() + if rank != 0: + return + if self.by_epoch: return