-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Feature that enable modify hydra configuration group through command line #2737
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
@configclass | ||
class AgentConfigurables(EnvConfigurables): | ||
agent: dict[str, any] = { | ||
"policy": { |
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.
how would this work for other RL libraries that don't use yaml?
# | ||
# SPDX-License-Identifier: BSD-3-Clause | ||
|
||
# Copyright (c) 2022-2025, The Isaac Lab Project Developers. |
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.
we can remove this blob
config_store = ConfigStore.instance() | ||
|
||
has_hydra_group_configuration = "configurable_entry_point" in gym.spec(task_name).kwargs | ||
if has_hydra_group_configuration: |
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.
is there a good way to test this in the unit tests?
|
||
|
||
@configclass | ||
class EnvConfigurables: |
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.
I think it'll be helpful to have some documentation explaining usage and the setup for this, to highlight what can be modified and how the configs should be set up to allow those modifications through cli
Maybe we should move the all of them to Hydra Group Configurables instead of
do:
Motivation: Incorporating observation space, (and potentialy action space) in task id can make one environment generates countless versions (combinatoric scaling). If we use configurables instead of task id, it makes sense that
|
Description
This PR introduce a new feature in interacting with hydra, bring group override feature to isaac lab
Demo Script

Demo 1: Overriding Event Managers with Pre-grouped Alternative Managers
Example 1: Overriding Event Manager
Example 2: Overriding Observation Manager
Demo 2: Overriding Terms Under a Manager
Example: Change Only
arm_action
Term UnderActionManager
Demo 3: Overriding
agent.policy
ConfigurationDemo Script:

# Use a medium-sized network python train.py agent.policy=medium_network Output: Actor MLP: Sequential( (0): Linear(in_features=32, out_features=256, bias=True) (2): Linear(in_features=256, out_features=128, bias=True) (4): Linear(in_features=128, out_features=64, bias=True) (6): Linear(in_features=64, out_features=7, bias=True) )
Fixes # (issue)
Type of change
Checklist
pre-commit
checks with./isaaclab.sh --format
config/extension.toml
fileCONTRIBUTORS.md
or my name already exists there