diff --git a/examples/rlhf/config/train.yaml b/examples/rlhf/config/train.yaml index 6d27088902f..b05b951ae26 100644 --- a/examples/rlhf/config/train.yaml +++ b/examples/rlhf/config/train.yaml @@ -28,3 +28,7 @@ sys: device: cuda # examples: cpu, cuda, cuda:0, cuda:1 etc., or try mps on macbooks dtype: bfloat16 # float32, bfloat16, or float16, the latter will auto implement a GradScaler compile: True # use PyTorch 2.0 to compile the model to be faster + +hydra: + job: + chdir: true diff --git a/examples/rlhf/config/train_reward.yaml b/examples/rlhf/config/train_reward.yaml index a5523b75fe2..a5ba3d66210 100644 --- a/examples/rlhf/config/train_reward.yaml +++ b/examples/rlhf/config/train_reward.yaml @@ -30,3 +30,7 @@ sys: device: cuda # examples: 'cpu', 'cuda', 'cuda:0', 'cuda:1' etc., or try 'mps' on macbooks dtype: bfloat16 # 'float32', 'bfloat16', or 'float16', the latter will auto implement a GradScaler compile: True # use PyTorch 2.0 to compile the model to be faster + +hydra: + job: + chdir: true diff --git a/examples/rlhf/config/train_rlhf.yaml b/examples/rlhf/config/train_rlhf.yaml index aa8e41a1319..02789ceecc8 100644 --- a/examples/rlhf/config/train_rlhf.yaml +++ b/examples/rlhf/config/train_rlhf.yaml @@ -39,3 +39,7 @@ sys: ref_device: cuda:1 # device of reference model dtype: bfloat16 # 'float32', 'bfloat16', or 'float16', the latter will auto implement a GradScaler compile: False # use PyTorch 2.0 to compile the model to be faster + +hydra: + job: + chdir: true diff --git a/examples/rlhf/train.py b/examples/rlhf/train.py index 6e685c6cc70..3691d98443d 100644 --- a/examples/rlhf/train.py +++ b/examples/rlhf/train.py @@ -41,7 +41,7 @@ def estimate_loss(model, dataloader): return estimate_loss -@hydra.main(version_base="1.1", config_path="config", config_name="train") +@hydra.main(version_base="1.3", config_path="config", config_name="train") def main(cfg): loss_logger = get_file_logger("loss_logger", "transformer_loss_logger.log") diff --git a/examples/rlhf/train_reward.py b/examples/rlhf/train_reward.py index b1bc2719086..0230a20c45d 100644 --- a/examples/rlhf/train_reward.py +++ b/examples/rlhf/train_reward.py @@ -45,7 +45,7 @@ def estimate_loss(model, dataloader): return estimate_loss -@hydra.main(version_base="1.1", config_path="config", config_name="train_reward") +@hydra.main(version_base="1.3", config_path="config", config_name="train_reward") def main(cfg): loss_logger = get_file_logger("loss_logger", "reward_loss_logger.log") diff --git a/examples/rlhf/train_rlhf.py b/examples/rlhf/train_rlhf.py index b77f2afd9c6..1e69c374c35 100644 --- a/examples/rlhf/train_rlhf.py +++ b/examples/rlhf/train_rlhf.py @@ -29,7 +29,7 @@ ) -@hydra.main(version_base="1.1", config_path="config", config_name="train_rlhf") +@hydra.main(version_base="1.3", config_path="config", config_name="train_rlhf") def main(cfg): # ============ Retrieve config ============ # diff --git a/pyproject.toml b/pyproject.toml index 9ff42e075bf..84e4205559f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,7 +51,7 @@ dependencies = [ dev = [ "gym", "gymnasium", - "hydra-core>=1.1", + "hydra-core>=1.3,<1.4", "hydra-submitit-launcher", "imageio", "moviepy", @@ -121,7 +121,7 @@ utils = [ "tensorboard", "wandb", "tqdm", - "hydra-core>=1.1", + "hydra-core>=1.3,<1.4", "hydra-submitit-launcher", "pre-commit", "autoflake", diff --git a/sota-implementations/a2c/a2c_atari.py b/sota-implementations/a2c/a2c_atari.py index 091e04f98c2..aa3be7ffca5 100644 --- a/sota-implementations/a2c/a2c_atari.py +++ b/sota-implementations/a2c/a2c_atari.py @@ -12,7 +12,7 @@ torch.set_float32_matmul_precision("high") -@hydra.main(config_path="", config_name="config_atari", version_base="1.1") +@hydra.main(config_path="", config_name="config_atari", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 from copy import deepcopy diff --git a/sota-implementations/a2c/a2c_mujoco.py b/sota-implementations/a2c/a2c_mujoco.py index 1a9c0edbf66..11ab7199f30 100644 --- a/sota-implementations/a2c/a2c_mujoco.py +++ b/sota-implementations/a2c/a2c_mujoco.py @@ -12,7 +12,7 @@ torch.set_float32_matmul_precision("high") -@hydra.main(config_path="", config_name="config_mujoco", version_base="1.1") +@hydra.main(config_path="", config_name="config_mujoco", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 from copy import deepcopy diff --git a/sota-implementations/a2c/config_atari.yaml b/sota-implementations/a2c/config_atari.yaml index 585a1d71e73..a7be971b772 100644 --- a/sota-implementations/a2c/config_atari.yaml +++ b/sota-implementations/a2c/config_atari.yaml @@ -41,3 +41,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/a2c/config_mujoco.yaml b/sota-implementations/a2c/config_mujoco.yaml index 8b67e7c60a3..0968285abff 100644 --- a/sota-implementations/a2c/config_mujoco.yaml +++ b/sota-implementations/a2c/config_mujoco.yaml @@ -37,3 +37,7 @@ compile: compile: False compile_mode: default cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/a2c_trainer/config/config.yaml b/sota-implementations/a2c_trainer/config/config.yaml index cc6efe4cc43..6a82ecfc5c9 100644 --- a/sota-implementations/a2c_trainer/config/config.yaml +++ b/sota-implementations/a2c_trainer/config/config.yaml @@ -137,3 +137,7 @@ trainer: optim_steps_per_batch: null num_epochs: 1 async_collection: false + +hydra: + job: + chdir: true diff --git a/sota-implementations/a2c_trainer/train.py b/sota-implementations/a2c_trainer/train.py index 2effdbabb30..2f333c5f8b7 100644 --- a/sota-implementations/a2c_trainer/train.py +++ b/sota-implementations/a2c_trainer/train.py @@ -7,7 +7,7 @@ from torchrl.trainers.algorithms.configs import A2CTrainerConfig # noqa: F401 -@hydra.main(config_path="config", config_name="config", version_base="1.1") +@hydra.main(config_path="config", config_name="config", version_base="1.3") def main(cfg): def print_reward(td): torchrl.logger.info(f"reward: {td['next', 'reward'].mean(): 4.4f}") diff --git a/sota-implementations/cql/cql_offline.py b/sota-implementations/cql/cql_offline.py index 6471ba60ce8..c34c19ab2f0 100644 --- a/sota-implementations/cql/cql_offline.py +++ b/sota-implementations/cql/cql_offline.py @@ -35,7 +35,7 @@ torch.set_float32_matmul_precision("high") -@hydra.main(config_path="", config_name="offline_config", version_base="1.1") +@hydra.main(config_path="", config_name="offline_config", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 # Create logger exp_name = generate_exp_name("CQL-offline", cfg.logger.exp_name) diff --git a/sota-implementations/cql/cql_online.py b/sota-implementations/cql/cql_online.py index 6a5f5bddb09..0668c1029c9 100644 --- a/sota-implementations/cql/cql_online.py +++ b/sota-implementations/cql/cql_online.py @@ -39,7 +39,7 @@ torch.set_float32_matmul_precision("high") -@hydra.main(version_base="1.1", config_path="", config_name="online_config") +@hydra.main(version_base="1.3", config_path="", config_name="online_config") def main(cfg: DictConfig): # noqa: F821 # Create logger exp_name = generate_exp_name("CQL-online", cfg.logger.exp_name) diff --git a/sota-implementations/cql/discrete_cql_offline.py b/sota-implementations/cql/discrete_cql_offline.py index 44eb654e9d8..cccd5ff8861 100644 --- a/sota-implementations/cql/discrete_cql_offline.py +++ b/sota-implementations/cql/discrete_cql_offline.py @@ -34,7 +34,7 @@ torch.set_float32_matmul_precision("high") -@hydra.main(version_base="1.1", config_path="", config_name="discrete_offline_config") +@hydra.main(version_base="1.3", config_path="", config_name="discrete_offline_config") def main(cfg): # noqa: F821 device = ( torch.device(cfg.optim.device) if cfg.optim.device else get_available_device() diff --git a/sota-implementations/cql/discrete_cql_online.py b/sota-implementations/cql/discrete_cql_online.py index 2d4ec93fa84..5faca07eab4 100644 --- a/sota-implementations/cql/discrete_cql_online.py +++ b/sota-implementations/cql/discrete_cql_online.py @@ -36,7 +36,7 @@ torch.set_float32_matmul_precision("high") -@hydra.main(version_base="1.1", config_path="", config_name="discrete_online_config") +@hydra.main(version_base="1.3", config_path="", config_name="discrete_online_config") def main(cfg: DictConfig): # noqa: F821 device = ( torch.device(cfg.optim.device) if cfg.optim.device else get_available_device() diff --git a/sota-implementations/cql/discrete_offline_config.yaml b/sota-implementations/cql/discrete_offline_config.yaml index 5121c36fd10..4e0e5212967 100644 --- a/sota-implementations/cql/discrete_offline_config.yaml +++ b/sota-implementations/cql/discrete_offline_config.yaml @@ -64,3 +64,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/cql/discrete_online_config.yaml b/sota-implementations/cql/discrete_online_config.yaml index cb622e1e729..fa8321af10f 100644 --- a/sota-implementations/cql/discrete_online_config.yaml +++ b/sota-implementations/cql/discrete_online_config.yaml @@ -62,3 +62,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/cql/offline_config.yaml b/sota-implementations/cql/offline_config.yaml index 321c8ba0b1b..f920dfd9d05 100644 --- a/sota-implementations/cql/offline_config.yaml +++ b/sota-implementations/cql/offline_config.yaml @@ -59,3 +59,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/cql/online_config.yaml b/sota-implementations/cql/online_config.yaml index 5c9e649f17f..1f14387502c 100644 --- a/sota-implementations/cql/online_config.yaml +++ b/sota-implementations/cql/online_config.yaml @@ -71,3 +71,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/cql_trainer/config/config.yaml b/sota-implementations/cql_trainer/config/config.yaml index ec77a4be264..a623fa92bb3 100644 --- a/sota-implementations/cql_trainer/config/config.yaml +++ b/sota-implementations/cql_trainer/config/config.yaml @@ -144,3 +144,7 @@ trainer: save_trainer_file: null optim_steps_per_batch: 64 async_collection: false + +hydra: + job: + chdir: true diff --git a/sota-implementations/cql_trainer/train.py b/sota-implementations/cql_trainer/train.py index 2c4a6b0832f..b4417c900b5 100644 --- a/sota-implementations/cql_trainer/train.py +++ b/sota-implementations/cql_trainer/train.py @@ -6,7 +6,7 @@ from torchrl.trainers.algorithms.configs import * # noqa: F401, F403 -@hydra.main(config_path="config", config_name="config", version_base="1.1") +@hydra.main(config_path="config", config_name="config", version_base="1.3") def main(cfg): trainer = hydra.utils.instantiate(cfg.trainer) trainer.train() diff --git a/sota-implementations/crossq/config.yaml b/sota-implementations/crossq/config.yaml index bd6276a6dcf..5e23d716303 100644 --- a/sota-implementations/crossq/config.yaml +++ b/sota-implementations/crossq/config.yaml @@ -61,3 +61,7 @@ logger: exp_name: ${env.name}_CrossQ mode: online eval_iter: 25000 + +hydra: + job: + chdir: true diff --git a/sota-implementations/crossq/crossq.py b/sota-implementations/crossq/crossq.py index 80de2fcc267..aa87b727826 100644 --- a/sota-implementations/crossq/crossq.py +++ b/sota-implementations/crossq/crossq.py @@ -38,7 +38,7 @@ torch.set_float32_matmul_precision("high") -@hydra.main(version_base="1.1", config_path=".", config_name="config") +@hydra.main(version_base="1.3", config_path=".", config_name="config") def main(cfg: DictConfig): # noqa: F821 device = ( torch.device(cfg.network.device) diff --git a/sota-implementations/ddpg/config.yaml b/sota-implementations/ddpg/config.yaml index 290ff21729d..2c96fa69592 100644 --- a/sota-implementations/ddpg/config.yaml +++ b/sota-implementations/ddpg/config.yaml @@ -55,3 +55,7 @@ logger: eval_iter: 25000 video: False num_eval_envs: 1 + +hydra: + job: + chdir: true diff --git a/sota-implementations/ddpg/ddpg.py b/sota-implementations/ddpg/ddpg.py index 323c0278e51..9d4ddc070a3 100644 --- a/sota-implementations/ddpg/ddpg.py +++ b/sota-implementations/ddpg/ddpg.py @@ -37,7 +37,7 @@ ) -@hydra.main(version_base="1.1", config_path="", config_name="config") +@hydra.main(version_base="1.3", config_path="", config_name="config") def main(cfg: DictConfig): # noqa: F821 device = ( torch.device(cfg.optim.device) if cfg.optim.device else get_available_device() diff --git a/sota-implementations/ddpg_trainer/config/config.yaml b/sota-implementations/ddpg_trainer/config/config.yaml index f3b967073b7..af9e3a4d036 100644 --- a/sota-implementations/ddpg_trainer/config/config.yaml +++ b/sota-implementations/ddpg_trainer/config/config.yaml @@ -147,3 +147,7 @@ trainer: save_trainer_file: null optim_steps_per_batch: 64 async_collection: false + +hydra: + job: + chdir: true diff --git a/sota-implementations/ddpg_trainer/train.py b/sota-implementations/ddpg_trainer/train.py index 2c4a6b0832f..b4417c900b5 100644 --- a/sota-implementations/ddpg_trainer/train.py +++ b/sota-implementations/ddpg_trainer/train.py @@ -6,7 +6,7 @@ from torchrl.trainers.algorithms.configs import * # noqa: F401, F403 -@hydra.main(config_path="config", config_name="config", version_base="1.1") +@hydra.main(config_path="config", config_name="config", version_base="1.3") def main(cfg): trainer = hydra.utils.instantiate(cfg.trainer) trainer.train() diff --git a/sota-implementations/decision_transformer/dt.py b/sota-implementations/decision_transformer/dt.py index 1132f7a77ba..8f994751a05 100644 --- a/sota-implementations/decision_transformer/dt.py +++ b/sota-implementations/decision_transformer/dt.py @@ -34,7 +34,7 @@ ) -@hydra.main(config_path="", config_name="dt_config", version_base="1.1") +@hydra.main(config_path="", config_name="dt_config", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 set_gym_backend(cfg.env.backend).set() diff --git a/sota-implementations/decision_transformer/dt_config.yaml b/sota-implementations/decision_transformer/dt_config.yaml index b0070fa4377..358fd84ce09 100644 --- a/sota-implementations/decision_transformer/dt_config.yaml +++ b/sota-implementations/decision_transformer/dt_config.yaml @@ -71,3 +71,7 @@ transformer: n_positions: 1024 resid_pdrop: 0.1 attn_pdrop: 0.1 + +hydra: + job: + chdir: true diff --git a/sota-implementations/decision_transformer/odt_config.yaml b/sota-implementations/decision_transformer/odt_config.yaml index 5d82cd75bef..8354b0174e3 100644 --- a/sota-implementations/decision_transformer/odt_config.yaml +++ b/sota-implementations/decision_transformer/odt_config.yaml @@ -72,3 +72,7 @@ transformer: n_positions: 1024 resid_pdrop: 0.1 attn_pdrop: 0.1 + +hydra: + job: + chdir: true diff --git a/sota-implementations/decision_transformer/online_dt.py b/sota-implementations/decision_transformer/online_dt.py index 3ea06c5f6e8..5f60155e3f7 100644 --- a/sota-implementations/decision_transformer/online_dt.py +++ b/sota-implementations/decision_transformer/online_dt.py @@ -32,7 +32,7 @@ ) -@hydra.main(config_path="", config_name="odt_config", version_base="1.1") +@hydra.main(config_path="", config_name="odt_config", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 set_gym_backend(cfg.env.backend).set() diff --git a/sota-implementations/diffusion_bc/config.yaml b/sota-implementations/diffusion_bc/config.yaml index 63afb14a811..2bf57ac9d5f 100644 --- a/sota-implementations/diffusion_bc/config.yaml +++ b/sota-implementations/diffusion_bc/config.yaml @@ -45,3 +45,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/diffusion_bc/diffusion_bc.py b/sota-implementations/diffusion_bc/diffusion_bc.py index 7bc603a8943..d98f6e6a779 100644 --- a/sota-implementations/diffusion_bc/diffusion_bc.py +++ b/sota-implementations/diffusion_bc/diffusion_bc.py @@ -38,7 +38,7 @@ ) -@hydra.main(config_path="", config_name="config", version_base="1.1") +@hydra.main(config_path="", config_name="config", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 set_gym_backend(cfg.env.library).set() diff --git a/sota-implementations/discrete_sac/config.yaml b/sota-implementations/discrete_sac/config.yaml index 6417777e379..9d285522ca3 100644 --- a/sota-implementations/discrete_sac/config.yaml +++ b/sota-implementations/discrete_sac/config.yaml @@ -58,3 +58,7 @@ logger: mode: online eval_iter: 5000 video: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/discrete_sac/discrete_sac.py b/sota-implementations/discrete_sac/discrete_sac.py index 1c97163b95a..df6033e6cee 100644 --- a/sota-implementations/discrete_sac/discrete_sac.py +++ b/sota-implementations/discrete_sac/discrete_sac.py @@ -37,7 +37,7 @@ ) -@hydra.main(version_base="1.1", config_path="", config_name="config") +@hydra.main(version_base="1.3", config_path="", config_name="config") def main(cfg: DictConfig): # noqa: F821 device = cfg.network.device if device in ("", None): diff --git a/sota-implementations/dqn/config_atari.yaml b/sota-implementations/dqn/config_atari.yaml index 878de1df30c..d0139fa3893 100644 --- a/sota-implementations/dqn/config_atari.yaml +++ b/sota-implementations/dqn/config_atari.yaml @@ -45,3 +45,7 @@ compile: compile: False compile_mode: default cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/dqn/config_cartpole.yaml b/sota-implementations/dqn/config_cartpole.yaml index 7528f623239..399f7929de1 100644 --- a/sota-implementations/dqn/config_cartpole.yaml +++ b/sota-implementations/dqn/config_cartpole.yaml @@ -52,3 +52,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/dqn/dqn_atari.py b/sota-implementations/dqn/dqn_atari.py index 8f323fc77cf..9f66f080295 100644 --- a/sota-implementations/dqn/dqn_atari.py +++ b/sota-implementations/dqn/dqn_atari.py @@ -30,7 +30,7 @@ torch.set_float32_matmul_precision("high") -@hydra.main(config_path="", config_name="config_atari", version_base="1.1") +@hydra.main(config_path="", config_name="config_atari", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 device = torch.device(cfg.device) if cfg.device else get_available_device() diff --git a/sota-implementations/dqn/dqn_cartpole.py b/sota-implementations/dqn/dqn_cartpole.py index b7d8c2c8a4a..08d237d9577 100644 --- a/sota-implementations/dqn/dqn_cartpole.py +++ b/sota-implementations/dqn/dqn_cartpole.py @@ -94,7 +94,7 @@ def _resume_checkpoint( ) -@hydra.main(config_path="", config_name="config_cartpole", version_base="1.1") +@hydra.main(config_path="", config_name="config_cartpole", version_base="1.3") def main(cfg: DictConfig): device = torch.device(cfg.device) if cfg.device else get_available_device() diff --git a/sota-implementations/dqn_trainer/config/config.yaml b/sota-implementations/dqn_trainer/config/config.yaml index a4839ca878e..8fcdf344d07 100644 --- a/sota-implementations/dqn_trainer/config/config.yaml +++ b/sota-implementations/dqn_trainer/config/config.yaml @@ -122,3 +122,7 @@ trainer: eps_end: 0.05 annealing_num_steps: 250_000 async_collection: false + +hydra: + job: + chdir: true diff --git a/sota-implementations/dqn_trainer/train.py b/sota-implementations/dqn_trainer/train.py index 2c4a6b0832f..b4417c900b5 100644 --- a/sota-implementations/dqn_trainer/train.py +++ b/sota-implementations/dqn_trainer/train.py @@ -6,7 +6,7 @@ from torchrl.trainers.algorithms.configs import * # noqa: F401, F403 -@hydra.main(config_path="config", config_name="config", version_base="1.1") +@hydra.main(config_path="config", config_name="config", version_base="1.3") def main(cfg): trainer = hydra.utils.instantiate(cfg.trainer) trainer.train() diff --git a/sota-implementations/dreamer/config.yaml b/sota-implementations/dreamer/config.yaml index 08d34e5890f..372026fa53c 100644 --- a/sota-implementations/dreamer/config.yaml +++ b/sota-implementations/dreamer/config.yaml @@ -129,3 +129,7 @@ profiling: trace_file: collector_trace_{worker_idx}.json # Override init_random_frames when collector profiling is enabled (0 = skip random frames phase) init_random_frames_override: 0 + +hydra: + job: + chdir: true diff --git a/sota-implementations/dreamer/config_isaac.yaml b/sota-implementations/dreamer/config_isaac.yaml index 803a6a1dadc..7bd338c1712 100644 --- a/sota-implementations/dreamer/config_isaac.yaml +++ b/sota-implementations/dreamer/config_isaac.yaml @@ -84,3 +84,7 @@ logger: # Enable async eval with viewport rendering (requires >= 3 GPUs). video: True video_skip: 1 + +hydra: + job: + chdir: true diff --git a/sota-implementations/dreamer/dreamer.py b/sota-implementations/dreamer/dreamer.py index 919211892e6..6a6fe93aa7e 100644 --- a/sota-implementations/dreamer/dreamer.py +++ b/sota-implementations/dreamer/dreamer.py @@ -42,7 +42,7 @@ from torchrl.record.loggers import generate_exp_name, get_logger -@hydra.main(version_base="1.1", config_path="", config_name="config") +@hydra.main(version_base="1.3", config_path="", config_name="config") def main(cfg: DictConfig): # noqa: F821 # cfg = correct_for_frame_skip(cfg) diff --git a/sota-implementations/dreamer/dreamer_isaac.py b/sota-implementations/dreamer/dreamer_isaac.py index 98a618ccd40..581f4385a88 100644 --- a/sota-implementations/dreamer/dreamer_isaac.py +++ b/sota-implementations/dreamer/dreamer_isaac.py @@ -76,7 +76,7 @@ from torchrl.record.loggers import generate_exp_name, get_logger -@hydra.main(version_base="1.1", config_path="", config_name="config_isaac") +@hydra.main(version_base="1.3", config_path="", config_name="config_isaac") def main(cfg: DictConfig): # ======================================================================== # Device setup: sim on cuda:0, training on cuda:1 (or cuda:0 if single GPU) diff --git a/sota-implementations/dreamer_v3/config.yaml b/sota-implementations/dreamer_v3/config.yaml index e46a09c3d5a..51e1d4b892b 100644 --- a/sota-implementations/dreamer_v3/config.yaml +++ b/sota-implementations/dreamer_v3/config.yaml @@ -39,3 +39,7 @@ logger: eval_every: 500 eval_episodes: 3 output_plot: dreamer_v3_pendulum.png + +hydra: + job: + chdir: true diff --git a/sota-implementations/dreamer_v3/dreamer_v3.py b/sota-implementations/dreamer_v3/dreamer_v3.py index c5c6c20c2ff..417b83632ae 100644 --- a/sota-implementations/dreamer_v3/dreamer_v3.py +++ b/sota-implementations/dreamer_v3/dreamer_v3.py @@ -269,7 +269,7 @@ def eval_episode_reward(env, actor, num_episodes: int) -> torch.Tensor: return torch.stack(totals).mean() -@hydra.main(version_base="1.1", config_path="", config_name="config") +@hydra.main(version_base="1.3", config_path="", config_name="config") def main(cfg: DictConfig): torch.manual_seed(cfg.env.seed) diff --git a/sota-implementations/expert-iteration/expert-iteration-async.py b/sota-implementations/expert-iteration/expert-iteration-async.py index 1c1227e0781..549f248d17b 100644 --- a/sota-implementations/expert-iteration/expert-iteration-async.py +++ b/sota-implementations/expert-iteration/expert-iteration-async.py @@ -380,7 +380,7 @@ def train( collector.shutdown() -@hydra.main(version_base=None, config_path="config", config_name="ei_gsm8k") +@hydra.main(version_base="1.3", config_path="config", config_name="ei_gsm8k") def main(cfg): # Force async mode if cfg.train.sync: diff --git a/sota-implementations/expert-iteration/expert-iteration-sync.py b/sota-implementations/expert-iteration/expert-iteration-sync.py index d8036f65e60..c339c9dc2f1 100644 --- a/sota-implementations/expert-iteration/expert-iteration-sync.py +++ b/sota-implementations/expert-iteration/expert-iteration-sync.py @@ -379,7 +379,7 @@ def train( collector.shutdown() -@hydra.main(version_base=None, config_path="config", config_name="ei_gsm8k") +@hydra.main(version_base="1.3", config_path="config", config_name="ei_gsm8k") def main(cfg): # Force sync mode if not cfg.train.sync: diff --git a/sota-implementations/gail/config.yaml b/sota-implementations/gail/config.yaml index a3118cd6f3c..6d07ed82a45 100644 --- a/sota-implementations/gail/config.yaml +++ b/sota-implementations/gail/config.yaml @@ -49,3 +49,7 @@ compile: replay_buffer: dataset: halfcheetah-expert-v2 batch_size: 256 + +hydra: + job: + chdir: true diff --git a/sota-implementations/gail/gail.py b/sota-implementations/gail/gail.py index 1d0e102edc3..526cd40810f 100644 --- a/sota-implementations/gail/gail.py +++ b/sota-implementations/gail/gail.py @@ -34,7 +34,7 @@ torch.set_float32_matmul_precision("high") -@hydra.main(config_path="", config_name="config") +@hydra.main(config_path="", config_name="config", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 set_gym_backend(cfg.env.backend).set() diff --git a/sota-implementations/grpo/grpo-async.py b/sota-implementations/grpo/grpo-async.py index 0bb724d0408..0b6703af877 100644 --- a/sota-implementations/grpo/grpo-async.py +++ b/sota-implementations/grpo/grpo-async.py @@ -366,7 +366,7 @@ def train( shutdown() -@hydra.main(version_base=None, config_path="config", config_name="grpo_gsm8k") +@hydra.main(version_base="1.3", config_path="config", config_name="grpo_gsm8k") def main(cfg): # Check for required GRPO dependencies check_grpo_dependencies(getattr(cfg.inference_model, "backend", "vllm")) diff --git a/sota-implementations/grpo/grpo-sync.py b/sota-implementations/grpo/grpo-sync.py index bf5741e53e2..6e689a1ac2d 100644 --- a/sota-implementations/grpo/grpo-sync.py +++ b/sota-implementations/grpo/grpo-sync.py @@ -326,7 +326,7 @@ def train( shutdown() -@hydra.main(version_base=None, config_path="config", config_name="grpo_gsm8k") +@hydra.main(version_base="1.3", config_path="config", config_name="grpo_gsm8k") def main(cfg): # Check for required GRPO dependencies check_grpo_dependencies() diff --git a/sota-implementations/impala/config_multi_node_ray.yaml b/sota-implementations/impala/config_multi_node_ray.yaml index c1e3068aa6a..ea940d62453 100644 --- a/sota-implementations/impala/config_multi_node_ray.yaml +++ b/sota-implementations/impala/config_multi_node_ray.yaml @@ -66,3 +66,7 @@ loss: critic_coeff: 0.5 entropy_coeff: 0.01 loss_critic_type: l2 + +hydra: + job: + chdir: true diff --git a/sota-implementations/impala/config_multi_node_submitit.yaml b/sota-implementations/impala/config_multi_node_submitit.yaml index 573ef18a1c3..6435d22deb9 100644 --- a/sota-implementations/impala/config_multi_node_submitit.yaml +++ b/sota-implementations/impala/config_multi_node_submitit.yaml @@ -47,3 +47,7 @@ loss: critic_coeff: 0.5 entropy_coeff: 0.01 loss_critic_type: l2 + +hydra: + job: + chdir: true diff --git a/sota-implementations/impala/config_single_node.yaml b/sota-implementations/impala/config_single_node.yaml index 1e53e0dd19c..960d04479fb 100644 --- a/sota-implementations/impala/config_single_node.yaml +++ b/sota-implementations/impala/config_single_node.yaml @@ -39,3 +39,7 @@ loss: critic_coeff: 0.5 entropy_coeff: 0.01 loss_critic_type: l2 + +hydra: + job: + chdir: true diff --git a/sota-implementations/impala/impala_multi_node_ray.py b/sota-implementations/impala/impala_multi_node_ray.py index 165ce1504d8..f9fbca9e588 100644 --- a/sota-implementations/impala/impala_multi_node_ray.py +++ b/sota-implementations/impala/impala_multi_node_ray.py @@ -13,7 +13,7 @@ from torchrl._utils import logger as torchrl_logger -@hydra.main(config_path="", config_name="config_multi_node_ray", version_base="1.1") +@hydra.main(config_path="", config_name="config_multi_node_ray", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 import time diff --git a/sota-implementations/impala/impala_multi_node_submitit.py b/sota-implementations/impala/impala_multi_node_submitit.py index 7d2f4a48628..bc0912ca6ee 100644 --- a/sota-implementations/impala/impala_multi_node_submitit.py +++ b/sota-implementations/impala/impala_multi_node_submitit.py @@ -14,7 +14,7 @@ @hydra.main( - config_path="", config_name="config_multi_node_submitit", version_base="1.1" + config_path="", config_name="config_multi_node_submitit", version_base="1.3" ) def main(cfg: DictConfig): # noqa: F821 diff --git a/sota-implementations/impala/impala_single_node.py b/sota-implementations/impala/impala_single_node.py index c6867000de1..21860e72a64 100644 --- a/sota-implementations/impala/impala_single_node.py +++ b/sota-implementations/impala/impala_single_node.py @@ -13,7 +13,7 @@ from torchrl._utils import logger as torchrl_logger -@hydra.main(config_path="", config_name="config_single_node", version_base="1.1") +@hydra.main(config_path="", config_name="config_single_node", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 import time diff --git a/sota-implementations/iql/discrete_iql.py b/sota-implementations/iql/discrete_iql.py index 175c90ff3a8..ddf7e978ad9 100644 --- a/sota-implementations/iql/discrete_iql.py +++ b/sota-implementations/iql/discrete_iql.py @@ -40,7 +40,7 @@ torch.set_float32_matmul_precision("high") -@hydra.main(config_path="", config_name="discrete_iql") +@hydra.main(config_path="", config_name="discrete_iql", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 set_gym_backend(cfg.env.backend).set() diff --git a/sota-implementations/iql/discrete_iql.yaml b/sota-implementations/iql/discrete_iql.yaml index 3f53ab9a68a..c9d5ca62458 100644 --- a/sota-implementations/iql/discrete_iql.yaml +++ b/sota-implementations/iql/discrete_iql.yaml @@ -64,3 +64,7 @@ compile: compile: False compile_mode: default cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/iql/iql_offline.py b/sota-implementations/iql/iql_offline.py index 6c9b26475df..6012aacc132 100644 --- a/sota-implementations/iql/iql_offline.py +++ b/sota-implementations/iql/iql_offline.py @@ -36,7 +36,7 @@ torch.set_float32_matmul_precision("high") -@hydra.main(config_path="", config_name="offline_config") +@hydra.main(config_path="", config_name="offline_config", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 set_gym_backend(cfg.env.backend).set() diff --git a/sota-implementations/iql/iql_online.py b/sota-implementations/iql/iql_online.py index ea2cdd6b1a6..4073af14d14 100644 --- a/sota-implementations/iql/iql_online.py +++ b/sota-implementations/iql/iql_online.py @@ -39,7 +39,7 @@ torch.set_float32_matmul_precision("high") -@hydra.main(config_path="", config_name="online_config") +@hydra.main(config_path="", config_name="online_config", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 set_gym_backend(cfg.env.backend).set() diff --git a/sota-implementations/iql/offline_config.yaml b/sota-implementations/iql/offline_config.yaml index ff739387c9d..f7d563e1876 100644 --- a/sota-implementations/iql/offline_config.yaml +++ b/sota-implementations/iql/offline_config.yaml @@ -52,3 +52,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/iql/online_config.yaml b/sota-implementations/iql/online_config.yaml index 3b34d8e0587..e137d35d8b9 100644 --- a/sota-implementations/iql/online_config.yaml +++ b/sota-implementations/iql/online_config.yaml @@ -66,3 +66,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/iql_trainer/config/config.yaml b/sota-implementations/iql_trainer/config/config.yaml index 55cfa47309f..b96b4dd5594 100644 --- a/sota-implementations/iql_trainer/config/config.yaml +++ b/sota-implementations/iql_trainer/config/config.yaml @@ -150,3 +150,7 @@ trainer: save_trainer_file: null optim_steps_per_batch: 64 async_collection: false + +hydra: + job: + chdir: true diff --git a/sota-implementations/iql_trainer/train.py b/sota-implementations/iql_trainer/train.py index 2c4a6b0832f..b4417c900b5 100644 --- a/sota-implementations/iql_trainer/train.py +++ b/sota-implementations/iql_trainer/train.py @@ -6,7 +6,7 @@ from torchrl.trainers.algorithms.configs import * # noqa: F401, F403 -@hydra.main(config_path="config", config_name="config", version_base="1.1") +@hydra.main(config_path="config", config_name="config", version_base="1.3") def main(cfg): trainer = hydra.utils.instantiate(cfg.trainer) trainer.train() diff --git a/sota-implementations/multiagent/iql.py b/sota-implementations/multiagent/iql.py index 155d1370fc3..2543cbab362 100644 --- a/sota-implementations/multiagent/iql.py +++ b/sota-implementations/multiagent/iql.py @@ -29,7 +29,7 @@ def rendering_callback(env, td): env.frames.append(env.render(mode="rgb_array", agent_index_focus=None)) -@hydra.main(version_base="1.1", config_path="", config_name="iql") +@hydra.main(version_base="1.3", config_path="", config_name="iql") def train(cfg: DictConfig): # noqa: F821 # Device cfg.train.device = "cpu" if not torch.cuda.device_count() else "cuda:0" diff --git a/sota-implementations/multiagent/iql.yaml b/sota-implementations/multiagent/iql.yaml index dc748e3601c..4ac3206782b 100644 --- a/sota-implementations/multiagent/iql.yaml +++ b/sota-implementations/multiagent/iql.yaml @@ -38,3 +38,7 @@ logger: backend: wandb # Delete to remove logging project_name: null group_name: null + +hydra: + job: + chdir: true diff --git a/sota-implementations/multiagent/maddpg_iddpg.py b/sota-implementations/multiagent/maddpg_iddpg.py index 8e49fe46f9b..fc8a5f7cdd3 100644 --- a/sota-implementations/multiagent/maddpg_iddpg.py +++ b/sota-implementations/multiagent/maddpg_iddpg.py @@ -34,7 +34,7 @@ def rendering_callback(env, td): env.frames.append(env.render(mode="rgb_array", agent_index_focus=None)) -@hydra.main(version_base="1.1", config_path="", config_name="maddpg_iddpg") +@hydra.main(version_base="1.3", config_path="", config_name="maddpg_iddpg") def train(cfg: DictConfig): # noqa: F821 # Device cfg.train.device = "cpu" if not torch.cuda.device_count() else "cuda:0" diff --git a/sota-implementations/multiagent/maddpg_iddpg.yaml b/sota-implementations/multiagent/maddpg_iddpg.yaml index 8aa97db09da..ee853d28faa 100644 --- a/sota-implementations/multiagent/maddpg_iddpg.yaml +++ b/sota-implementations/multiagent/maddpg_iddpg.yaml @@ -39,3 +39,7 @@ logger: backend: wandb # Delete to remove logging project_name: null group_name: null + +hydra: + job: + chdir: true diff --git a/sota-implementations/multiagent/mappo_ippo.py b/sota-implementations/multiagent/mappo_ippo.py index 59fb0d035e0..c5d460570cc 100644 --- a/sota-implementations/multiagent/mappo_ippo.py +++ b/sota-implementations/multiagent/mappo_ippo.py @@ -30,7 +30,7 @@ def rendering_callback(env, td): env.frames.append(env.render(mode="rgb_array", agent_index_focus=None)) -@hydra.main(version_base="1.1", config_path="", config_name="mappo_ippo") +@hydra.main(version_base="1.3", config_path="", config_name="mappo_ippo") def train(cfg: DictConfig): # noqa: F821 # Device cfg.train.device = "cpu" if not torch.cuda.device_count() else "cuda:0" diff --git a/sota-implementations/multiagent/mappo_ippo.yaml b/sota-implementations/multiagent/mappo_ippo.yaml index ed47456b63f..97e751549d7 100644 --- a/sota-implementations/multiagent/mappo_ippo.yaml +++ b/sota-implementations/multiagent/mappo_ippo.yaml @@ -41,3 +41,7 @@ logger: backend: wandb # Delete to remove logging project_name: null group_name: null + +hydra: + job: + chdir: true diff --git a/sota-implementations/multiagent/qmix_vdn.py b/sota-implementations/multiagent/qmix_vdn.py index 84a5ba63640..6746f5a1206 100644 --- a/sota-implementations/multiagent/qmix_vdn.py +++ b/sota-implementations/multiagent/qmix_vdn.py @@ -29,7 +29,7 @@ def rendering_callback(env, td): env.frames.append(env.render(mode="rgb_array", agent_index_focus=None)) -@hydra.main(version_base="1.1", config_path="", config_name="qmix_vdn") +@hydra.main(version_base="1.3", config_path="", config_name="qmix_vdn") def train(cfg: DictConfig): # noqa: F821 # Device cfg.train.device = "cpu" if not torch.cuda.device_count() else "cuda:0" diff --git a/sota-implementations/multiagent/qmix_vdn.yaml b/sota-implementations/multiagent/qmix_vdn.yaml index bac6db99d63..be6ec82aa38 100644 --- a/sota-implementations/multiagent/qmix_vdn.yaml +++ b/sota-implementations/multiagent/qmix_vdn.yaml @@ -39,3 +39,7 @@ logger: backend: wandb # Delete to remove logging project_name: null group_name: null + +hydra: + job: + chdir: true diff --git a/sota-implementations/multiagent/sac.py b/sota-implementations/multiagent/sac.py index 7d27418944f..f8c2e757661 100644 --- a/sota-implementations/multiagent/sac.py +++ b/sota-implementations/multiagent/sac.py @@ -31,7 +31,7 @@ def rendering_callback(env, td): env.frames.append(env.render(mode="rgb_array", agent_index_focus=None)) -@hydra.main(version_base="1.1", config_path="", config_name="sac") +@hydra.main(version_base="1.3", config_path="", config_name="sac") def train(cfg: DictConfig): # noqa: F821 # Device cfg.train.device = "cpu" if not torch.cuda.device_count() else "cuda:0" diff --git a/sota-implementations/multiagent/sac.yaml b/sota-implementations/multiagent/sac.yaml index 33464debc7d..420530e3cbc 100644 --- a/sota-implementations/multiagent/sac.yaml +++ b/sota-implementations/multiagent/sac.yaml @@ -41,3 +41,7 @@ logger: backend: wandb # Delete to remove logging project_name: null group_name: null + +hydra: + job: + chdir: true diff --git a/sota-implementations/multiagent_trainer/config/maddpg.yaml b/sota-implementations/multiagent_trainer/config/maddpg.yaml index c8cc582e282..38736505c43 100644 --- a/sota-implementations/multiagent_trainer/config/maddpg.yaml +++ b/sota-implementations/multiagent_trainer/config/maddpg.yaml @@ -193,3 +193,7 @@ trainer: action_key: [agents, action] observation_key: [agents, observation] async_collection: false + +hydra: + job: + chdir: true diff --git a/sota-implementations/multiagent_trainer/train.py b/sota-implementations/multiagent_trainer/train.py index d6c3b751a4f..a207e77ca26 100644 --- a/sota-implementations/multiagent_trainer/train.py +++ b/sota-implementations/multiagent_trainer/train.py @@ -9,7 +9,7 @@ from torchrl.trainers.algorithms.configs import * # noqa: F401, F403 -@hydra.main(config_path="config", config_name="maddpg", version_base="1.1") +@hydra.main(config_path="config", config_name="maddpg", version_base="1.3") def main(cfg): trainer = hydra.utils.instantiate(cfg.trainer) trainer.train() diff --git a/sota-implementations/pilco/config.yaml b/sota-implementations/pilco/config.yaml index c16890c9972..9b94349fa80 100644 --- a/sota-implementations/pilco/config.yaml +++ b/sota-implementations/pilco/config.yaml @@ -18,3 +18,7 @@ pilco: epochs: 3 policy_training_steps: 100 policy_n_basis: 10 + +hydra: + job: + chdir: true diff --git a/sota-implementations/pilco/pilco.py b/sota-implementations/pilco/pilco.py index f748ceb812d..1c2dc07f30b 100644 --- a/sota-implementations/pilco/pilco.py +++ b/sota-implementations/pilco/pilco.py @@ -170,7 +170,7 @@ def pilco_loop( return policy_module -@hydra.main(config_path="", config_name="config", version_base="1.1") +@hydra.main(config_path="", config_name="config", version_base="1.3") def main(cfg: DictConfig) -> None: device = torch.device(cfg.device) if cfg.device else get_available_device() diff --git a/sota-implementations/ppo-async/config_mujoco.yaml b/sota-implementations/ppo-async/config_mujoco.yaml index 97bc625ff2e..faa049fcf50 100644 --- a/sota-implementations/ppo-async/config_mujoco.yaml +++ b/sota-implementations/ppo-async/config_mujoco.yaml @@ -54,3 +54,7 @@ loss: # worker: GAE computed on collector worker (stale critic, synced via SharedMemWeightSyncScheme) # learner: TD(0) advantage computed at training time with current critic # Only meaningful when collector.async_mode=start. Ignored when iterate. + +hydra: + job: + chdir: true diff --git a/sota-implementations/ppo-async/ppo_async_mujoco.py b/sota-implementations/ppo-async/ppo_async_mujoco.py index c76cdb0bb22..d7c785c7751 100644 --- a/sota-implementations/ppo-async/ppo_async_mujoco.py +++ b/sota-implementations/ppo-async/ppo_async_mujoco.py @@ -55,7 +55,7 @@ from utils_mujoco import make_ppo_models -@hydra.main(config_path="", config_name="config_mujoco", version_base="1.1") +@hydra.main(config_path="", config_name="config_mujoco", version_base="1.3") def main(cfg: DictConfig): torch.set_float32_matmul_precision("high") diff --git a/sota-implementations/ppo/config_atari.yaml b/sota-implementations/ppo/config_atari.yaml index 765c6da1c32..f50d7779360 100644 --- a/sota-implementations/ppo/config_atari.yaml +++ b/sota-implementations/ppo/config_atari.yaml @@ -44,3 +44,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/ppo/config_mujoco.yaml b/sota-implementations/ppo/config_mujoco.yaml index 11f8cbe85d9..854ce7fb3f0 100644 --- a/sota-implementations/ppo/config_mujoco.yaml +++ b/sota-implementations/ppo/config_mujoco.yaml @@ -50,3 +50,7 @@ compile: checkpoint: path: null interval: 0 + +hydra: + job: + chdir: true diff --git a/sota-implementations/ppo/ppo_atari.py b/sota-implementations/ppo/ppo_atari.py index 06efe6c835d..571da0b6cb6 100644 --- a/sota-implementations/ppo/ppo_atari.py +++ b/sota-implementations/ppo/ppo_atari.py @@ -15,7 +15,7 @@ from torchrl._utils import compile_with_warmup, get_available_device -@hydra.main(config_path="", config_name="config_atari", version_base="1.1") +@hydra.main(config_path="", config_name="config_atari", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 import torch.optim diff --git a/sota-implementations/ppo/ppo_mujoco.py b/sota-implementations/ppo/ppo_mujoco.py index 3a90f48f144..b7a33bd98a1 100644 --- a/sota-implementations/ppo/ppo_mujoco.py +++ b/sota-implementations/ppo/ppo_mujoco.py @@ -106,7 +106,7 @@ def _make_eval_env_kwargs(cfg: DictConfig) -> dict[str, object]: return kwargs -@hydra.main(config_path="", config_name="config_mujoco", version_base="1.1") +@hydra.main(config_path="", config_name="config_mujoco", version_base="1.3") def main(cfg: DictConfig): device = ( torch.device(cfg.optim.device) if cfg.optim.device else get_available_device() diff --git a/sota-implementations/ppo_trainer/config/config.yaml b/sota-implementations/ppo_trainer/config/config.yaml index 11af9039cd0..b4d79b20b1b 100644 --- a/sota-implementations/ppo_trainer/config/config.yaml +++ b/sota-implementations/ppo_trainer/config/config.yaml @@ -137,3 +137,7 @@ trainer: optim_steps_per_batch: null num_epochs: 2 async_collection: false + +hydra: + job: + chdir: true diff --git a/sota-implementations/ppo_trainer/train.py b/sota-implementations/ppo_trainer/train.py index 3925ca8b198..96bb1e49402 100644 --- a/sota-implementations/ppo_trainer/train.py +++ b/sota-implementations/ppo_trainer/train.py @@ -7,7 +7,7 @@ from torchrl.trainers.algorithms.configs import PPOTrainerConfig # noqa: F401 -@hydra.main(config_path="config", config_name="config", version_base="1.1") +@hydra.main(config_path="config", config_name="config", version_base="1.3") def main(cfg): def print_reward(td): torchrl.logger.info(f"reward: {td['next', 'reward'].mean(): 4.4f}") diff --git a/sota-implementations/redq/config.yaml b/sota-implementations/redq/config.yaml index e26b81aa459..de09a3424e9 100644 --- a/sota-implementations/redq/config.yaml +++ b/sota-implementations/redq/config.yaml @@ -95,3 +95,7 @@ loss: gamma: 0.99 hard_update: False value_network_update_interval: 200 + +hydra: + job: + chdir: true diff --git a/sota-implementations/redq/redq.py b/sota-implementations/redq/redq.py index 58072701663..8070643a3e5 100644 --- a/sota-implementations/redq/redq.py +++ b/sota-implementations/redq/redq.py @@ -41,7 +41,7 @@ } -@hydra.main(version_base="1.1", config_path="", config_name="config") +@hydra.main(version_base="1.3", config_path="", config_name="config") def main(cfg: DictConfig): # noqa: F821 cfg = correct_for_frame_skip(cfg) diff --git a/sota-implementations/reinforce_trainer/config/config.yaml b/sota-implementations/reinforce_trainer/config/config.yaml index c492e445725..f45ac94e2b5 100644 --- a/sota-implementations/reinforce_trainer/config/config.yaml +++ b/sota-implementations/reinforce_trainer/config/config.yaml @@ -136,3 +136,7 @@ trainer: optim_steps_per_batch: null num_epochs: 1 async_collection: false + +hydra: + job: + chdir: true diff --git a/sota-implementations/reinforce_trainer/train.py b/sota-implementations/reinforce_trainer/train.py index 173b7374cb8..cc2472e766c 100644 --- a/sota-implementations/reinforce_trainer/train.py +++ b/sota-implementations/reinforce_trainer/train.py @@ -7,7 +7,7 @@ from torchrl.trainers.algorithms.configs import ReinforceTrainerConfig # noqa: F401 -@hydra.main(config_path="config", config_name="config", version_base="1.1") +@hydra.main(config_path="config", config_name="config", version_base="1.3") def main(cfg): def print_reward(td): torchrl.logger.info(f"reward: {td['next', 'reward'].mean(): 4.4f}") diff --git a/sota-implementations/rnd/config_mujoco.yaml b/sota-implementations/rnd/config_mujoco.yaml index 2b39162d1f4..84705ff70a7 100644 --- a/sota-implementations/rnd/config_mujoco.yaml +++ b/sota-implementations/rnd/config_mujoco.yaml @@ -47,3 +47,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/rnd/rnd_mujoco.py b/sota-implementations/rnd/rnd_mujoco.py index f008e574cc8..8c6c2eb9af4 100644 --- a/sota-implementations/rnd/rnd_mujoco.py +++ b/sota-implementations/rnd/rnd_mujoco.py @@ -41,7 +41,7 @@ from utils_mujoco import eval_model, make_env, make_ppo_models, make_rnd_networks -@hydra.main(config_path="", config_name="config_mujoco", version_base="1.1") +@hydra.main(config_path="", config_name="config_mujoco", version_base="1.3") def main(cfg: DictConfig): torch.set_float32_matmul_precision("high") diff --git a/sota-implementations/sac/config-async.yaml b/sota-implementations/sac/config-async.yaml index a5751909022..5fc8d2f3a30 100644 --- a/sota-implementations/sac/config-async.yaml +++ b/sota-implementations/sac/config-async.yaml @@ -57,3 +57,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/sac/config.yaml b/sota-implementations/sac/config.yaml index d6cb09382aa..9389b53fc56 100644 --- a/sota-implementations/sac/config.yaml +++ b/sota-implementations/sac/config.yaml @@ -56,3 +56,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/sac/sac-async.py b/sota-implementations/sac/sac-async.py index 9692e2165f7..56b970f1421 100644 --- a/sota-implementations/sac/sac-async.py +++ b/sota-implementations/sac/sac-async.py @@ -55,7 +55,7 @@ tensordict.nn.functional_modules._exclude_td_from_pytree().set() -@hydra.main(version_base="1.1", config_path="", config_name="config-async") +@hydra.main(version_base="1.3", config_path="", config_name="config-async") def main(cfg: DictConfig): # noqa: F821 device = ( torch.device(cfg.network.device) diff --git a/sota-implementations/sac/sac.py b/sota-implementations/sac/sac.py index b8fe8c17bc4..7e25324c8a0 100644 --- a/sota-implementations/sac/sac.py +++ b/sota-implementations/sac/sac.py @@ -39,7 +39,7 @@ torch.set_float32_matmul_precision("high") -@hydra.main(version_base="1.1", config_path="", config_name="config") +@hydra.main(version_base="1.3", config_path="", config_name="config") def main(cfg: DictConfig): # noqa: F821 device = ( torch.device(cfg.network.device) diff --git a/sota-implementations/sac_trainer/config/config.yaml b/sota-implementations/sac_trainer/config/config.yaml index edb146157ff..2ec4b5c72f5 100644 --- a/sota-implementations/sac_trainer/config/config.yaml +++ b/sota-implementations/sac_trainer/config/config.yaml @@ -154,3 +154,7 @@ trainer: save_trainer_file: null optim_steps_per_batch: 64 # Match SOTA utd_ratio async_collection: false + +hydra: + job: + chdir: true diff --git a/sota-implementations/sac_trainer/train.py b/sota-implementations/sac_trainer/train.py index 2c4a6b0832f..b4417c900b5 100644 --- a/sota-implementations/sac_trainer/train.py +++ b/sota-implementations/sac_trainer/train.py @@ -6,7 +6,7 @@ from torchrl.trainers.algorithms.configs import * # noqa: F401, F403 -@hydra.main(config_path="config", config_name="config", version_base="1.1") +@hydra.main(config_path="config", config_name="config", version_base="1.3") def main(cfg): trainer = hydra.utils.instantiate(cfg.trainer) trainer.train() diff --git a/sota-implementations/td3/config.yaml b/sota-implementations/td3/config.yaml index 31fa52b72f3..dc93759192d 100644 --- a/sota-implementations/td3/config.yaml +++ b/sota-implementations/td3/config.yaml @@ -57,3 +57,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/td3/td3.py b/sota-implementations/td3/td3.py index cc5d25bc076..ef15a59907c 100644 --- a/sota-implementations/td3/td3.py +++ b/sota-implementations/td3/td3.py @@ -37,7 +37,7 @@ torch.set_float32_matmul_precision("high") -@hydra.main(version_base="1.1", config_path="", config_name="config") +@hydra.main(version_base="1.3", config_path="", config_name="config") def main(cfg: DictConfig): # noqa: F821 device = ( torch.device(cfg.network.device) diff --git a/sota-implementations/td3_bc/config.yaml b/sota-implementations/td3_bc/config.yaml index 1456f2f2acf..5cd2262ab21 100644 --- a/sota-implementations/td3_bc/config.yaml +++ b/sota-implementations/td3_bc/config.yaml @@ -48,3 +48,7 @@ compile: compile: False compile_mode: cudagraphs: False + +hydra: + job: + chdir: true diff --git a/sota-implementations/td3_bc/td3_bc.py b/sota-implementations/td3_bc/td3_bc.py index 553c797a050..7c3524bd7a2 100644 --- a/sota-implementations/td3_bc/td3_bc.py +++ b/sota-implementations/td3_bc/td3_bc.py @@ -34,7 +34,7 @@ ) -@hydra.main(config_path="", config_name="config") +@hydra.main(config_path="", config_name="config", version_base="1.3") def main(cfg: DictConfig): # noqa: F821 set_gym_backend(cfg.env.library).set() diff --git a/sota-implementations/td3_trainer/config/config.yaml b/sota-implementations/td3_trainer/config/config.yaml index b1baa08ed4a..2b609bee266 100644 --- a/sota-implementations/td3_trainer/config/config.yaml +++ b/sota-implementations/td3_trainer/config/config.yaml @@ -162,3 +162,7 @@ trainer: save_trainer_file: null async_collection: false policy_update_delay: 2 + +hydra: + job: + chdir: true diff --git a/sota-implementations/td3_trainer/train.py b/sota-implementations/td3_trainer/train.py index 2c4a6b0832f..b4417c900b5 100644 --- a/sota-implementations/td3_trainer/train.py +++ b/sota-implementations/td3_trainer/train.py @@ -6,7 +6,7 @@ from torchrl.trainers.algorithms.configs import * # noqa: F401, F403 -@hydra.main(config_path="config", config_name="config", version_base="1.1") +@hydra.main(config_path="config", config_name="config", version_base="1.3") def main(cfg): trainer = hydra.utils.instantiate(cfg.trainer) trainer.train() diff --git a/sota-implementations/vla_grpo/config/vla_grpo_toy.yaml b/sota-implementations/vla_grpo/config/vla_grpo_toy.yaml index dfe3ebb9318..57fca3e2adb 100644 --- a/sota-implementations/vla_grpo/config/vla_grpo_toy.yaml +++ b/sota-implementations/vla_grpo/config/vla_grpo_toy.yaml @@ -110,3 +110,7 @@ logger: checkpoint: save_iter: 25 # save every N iterations (0 disables) resume: null # path to a checkpoint_latest TensorDict directory to resume from + +hydra: + job: + chdir: true diff --git a/sota-implementations/vla_grpo/vla-grpo.py b/sota-implementations/vla_grpo/vla-grpo.py index 676cc8316ad..24b68225503 100644 --- a/sota-implementations/vla_grpo/vla-grpo.py +++ b/sota-implementations/vla_grpo/vla-grpo.py @@ -47,7 +47,7 @@ warnings.filterwarnings("ignore", category=UserWarning, module="tensordict") -@hydra.main(config_path="config", config_name="vla_grpo_toy", version_base="1.1") +@hydra.main(config_path="config", config_name="vla_grpo_toy", version_base="1.3") def main(cfg): # noqa: F821 torch.manual_seed(cfg.env.seed) train_device = auto_device(cfg.policy.device) diff --git a/test/test_configs.py b/test/test_configs.py index 6dda89a8e0c..a25bc33b506 100644 --- a/test/test_configs.py +++ b/test/test_configs.py @@ -2081,7 +2081,7 @@ def init_hydra(self): # Register the configs manually for testing _register_configs() initialize_config_module( - "torchrl.trainers.algorithms.configs", version_base="1.1" + "torchrl.trainers.algorithms.configs", version_base="1.3" ) def _run_hydra_test( @@ -2096,7 +2096,7 @@ def _run_hydra_test( import torchrl from torchrl.trainers.algorithms.configs.common import Config -@hydra.main(config_path="config", config_name="config", version_base="1.1") +@hydra.main(config_path="config", config_name="config", version_base="1.3") def main(cfg): {test_script_content} print("{success_message}") diff --git a/test/test_helpers.py b/test/test_helpers.py index 6b3efe71077..81ca6a4193c 100644 --- a/test/test_helpers.py +++ b/test/test_helpers.py @@ -123,7 +123,7 @@ def test_dqn_maker( Config = dataclasses.make_dataclass(cls_name="Config", fields=config_fields) cs = ConfigStore.instance() cs.store(name="config", node=Config) - with initialize(version_base="1.1", config_path=None): + with initialize(version_base="1.3", config_path=None): cfg = compose(config_name="config", overrides=flags) env_maker = ( @@ -243,7 +243,7 @@ def test_transformed_env_constructor_with_state_dict(from_pixels): Config = dataclasses.make_dataclass(cls_name="Config", fields=config_fields) cs = ConfigStore.instance() cs.store(name="config", node=Config) - with initialize(version_base="1.1", config_path=None): + with initialize(version_base="1.3", config_path=None): cfg = compose(config_name="config", overrides=flags) env_maker = ( ContinuousActionConvMockEnvNumpy