From d41906fa153ef67d8b76623b7414d38343d69e14 Mon Sep 17 00:00:00 2001 From: Junwei Zheng <40340085+JunweiZheng93@users.noreply.github.com> Date: Wed, 12 Apr 2023 04:38:48 +0200 Subject: [PATCH] [Fix] Fix publish multiple checkpoints when using multiple GPUs (#1059) (#1070) --- mmengine/hooks/checkpoint_hook.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mmengine/hooks/checkpoint_hook.py b/mmengine/hooks/checkpoint_hook.py index b118f2bc..15fd8ac6 100644 --- a/mmengine/hooks/checkpoint_hook.py +++ b/mmengine/hooks/checkpoint_hook.py @@ -7,7 +7,7 @@ from math import inf from pathlib import Path from typing import Callable, Dict, List, Optional, Sequence, Union -from mmengine.dist import is_main_process +from mmengine.dist import is_main_process, master_only from mmengine.fileio import FileClient, get_file_backend from mmengine.logging import print_log from mmengine.registry import HOOKS @@ -347,6 +347,7 @@ class CheckpointHook(Hook): for key, best_ckpt in self.best_ckpt_path_dict.items(): self._publish_model(runner, best_ckpt) + @master_only def _publish_model(self, runner, ckpt_path: str) -> None: """Remove unnecessary keys from ckpt_path and save the new checkpoint.