Simple modular configuration refactoring #2
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for submitting this!
I think it is way too complicated and convoluted at the moment. I wonder if there is a way to simplify it. Specifically, it would be nice if we still have the default config as before, but only have a folder with task specific overrides. Right now there is a lot of duplication going on and only a few parameters are changing, it would be best if we can preserve this simplicity.
README.md
Outdated
@@ -72,7 +72,7 @@ conda activate drqv2 | |||
|
|||
Train the agent: | |||
```sh | |||
python train.py task=quadruped_walk | |||
python train.py env_cfg=quadruped_walk |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's rename it to just task
cfgs/env_cfg/acrobot_swingup.yaml
Outdated
@@ -0,0 +1,20 @@ | |||
# task settings | |||
task: acrobot_swingup | |||
frame_stack: 3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hm there is a lot of overlap going on, only a few arguments are changing. I wonder if there is a way to only have a task specific overrides and still preserve the default config.
…the relative configuration files and the parsing logic
As suggested, I changed the config logic to keep the default config as before and have an additional folder with task specific overrides. Also I changed the name of the folder to "task" (and the parameter specifying the task to "task_name" to avoid conflict). Let me know if this works, or if you had anything else in mind ^^ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this looks good now, thanks!
I think the humanoid tasks are missing (maybe some others too), could you please add those as well? otherwise looks great.
Done, added configurations for all easy and hard benchmark tasks (before I included only the medium benchmark tasks)! Let me know if any other change is required ^^ |
thanks, this looks good. will merge now. |
Refactored the hydra configurations to be divided into agent-specific (agent_cfg) and environment-specific (env_cfg), to ease experimentation. In particular, the only argument that needs to be overridden for any of the experiments with DrQ-v2 is env_cfg.
I have also added the relative configurations for all medium benchmark tasks, following the details from the paper.