From 8f3bb78b2978f354ab0cfdc60b0cf691921f7c31 Mon Sep 17 00:00:00 2001 From: Fabio Seel Date: Thu, 14 Nov 2024 17:57:43 +0100 Subject: [PATCH 1/2] feat: add wandb_dir as cfg argument --- sample_factory/cfg/cfg.py | 7 +++++++ sample_factory/utils/wandb_utils.py | 1 + 2 files changed, 8 insertions(+) diff --git a/sample_factory/cfg/cfg.py b/sample_factory/cfg/cfg.py index ae8e7a30b..3efeaeaaf 100644 --- a/sample_factory/cfg/cfg.py +++ b/sample_factory/cfg/cfg.py @@ -744,6 +744,13 @@ def add_wandb_args(p: ArgumentParser): nargs="*", help="Tags can help with finding experiments in WandB web console", ) + p.add_argument( + "--wandb_dir", + default="wandb", + type=str, + nargs="*", + help="Logging Directory for WandB", + ) def add_pbt_args(p: ArgumentParser): diff --git a/sample_factory/utils/wandb_utils.py b/sample_factory/utils/wandb_utils.py index 73d7a17ef..751856cce 100644 --- a/sample_factory/utils/wandb_utils.py +++ b/sample_factory/utils/wandb_utils.py @@ -44,6 +44,7 @@ def init_wandb_func(): tags=cfg.wandb_tags, resume="allow", settings=wandb.Settings(start_method="fork"), + dir=cfg.wandb_dir, ) log.debug("Initializing WandB...") From e5760d24ba4a1a6298353e2108efc757a1b441aa Mon Sep 17 00:00:00 2001 From: Fabio Seel Date: Fri, 15 Nov 2024 09:04:42 +0100 Subject: [PATCH 2/2] refactor: match functional dir style for wandb dir --- sample_factory/cfg/cfg.py | 3 +-- sample_factory/utils/utils.py | 4 ++++ sample_factory/utils/wandb_utils.py | 4 ++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/sample_factory/cfg/cfg.py b/sample_factory/cfg/cfg.py index 3efeaeaaf..dbbd3f1fc 100644 --- a/sample_factory/cfg/cfg.py +++ b/sample_factory/cfg/cfg.py @@ -746,9 +746,8 @@ def add_wandb_args(p: ArgumentParser): ) p.add_argument( "--wandb_dir", - default="wandb", + default=join(os.getcwd(), "wandb"), type=str, - nargs="*", help="Logging Directory for WandB", ) diff --git a/sample_factory/utils/utils.py b/sample_factory/utils/utils.py index a6119c979..d9de75915 100644 --- a/sample_factory/utils/utils.py +++ b/sample_factory/utils/utils.py @@ -402,6 +402,10 @@ def experiments_dir(cfg, mkdir=True) -> str: return maybe_ensure_dir_exists(cfg.train_dir, mkdir) +def wandb_dir(cfg, mkdir=True) -> str: + return maybe_ensure_dir_exists(cfg.wandb_dir, mkdir) + + def experiment_dir(cfg, mkdir=True) -> str: experiment = cfg.experiment experiments_root = experiments_dir(cfg, mkdir) diff --git a/sample_factory/utils/wandb_utils.py b/sample_factory/utils/wandb_utils.py index 751856cce..f0208c8b4 100644 --- a/sample_factory/utils/wandb_utils.py +++ b/sample_factory/utils/wandb_utils.py @@ -1,6 +1,6 @@ from datetime import datetime -from sample_factory.utils.utils import log, retry +from sample_factory.utils.utils import log, retry, wandb_dir def init_wandb(cfg): @@ -44,7 +44,7 @@ def init_wandb_func(): tags=cfg.wandb_tags, resume="allow", settings=wandb.Settings(start_method="fork"), - dir=cfg.wandb_dir, + dir=wandb_dir(cfg, True), ) log.debug("Initializing WandB...")