diff --git a/main.py b/main.py index c6435d9..1776f4b 100644 --- a/main.py +++ b/main.py @@ -29,14 +29,16 @@ def running(local_rank, config, task, backup_config=False, setup_output_dir=Fals if setup_output_dir: output_dir = Path(config.result_dir) / config.name if config.output_dir is None else config.output_dir config.output_dir = str(output_dir) - if idist.get_rank() == 0: - if not output_dir.exists(): + if output_dir.exists(): + assert not any(output_dir.iterdir()), "output_dir must be empty" + else: + if idist.get_rank() == 0: output_dir.mkdir(parents=True) logger.info(f"mkdir -p {output_dir}") - logger.info(f"output path: {config.output_dir}") - if backup_config: - with open(output_dir / "config.yml", "w+") as f: - print(config.pretty(), file=f) + logger.info(f"output path: {config.output_dir}") + if backup_config and idist.get_rank() == 0: + with open(output_dir / "config.yml", "w+") as f: + print(config.pretty(), file=f) OmegaConf.set_readonly(config, True)