dm_control_env-v2-1-0 / examples /list_environments.py
burtenshaw's picture
burtenshaw HF Staff
Upload folder using huggingface_hub
6dd47af verified
#!/usr/bin/env python3
"""List all available dm_control.suite environments.
This utility prints all available domain/task combinations from dm_control.suite.
"""
from dm_control import suite
def main():
print("Available dm_control.suite environments:")
print("=" * 50)
# Group by domain
domains = {}
for domain, task in suite.BENCHMARKING:
if domain not in domains:
domains[domain] = []
domains[domain].append(task)
for domain in sorted(domains.keys()):
tasks = sorted(domains[domain])
print(f"\n{domain}:")
for task in tasks:
# Load env to get action spec
try:
env = suite.load(domain_name=domain, task_name=task)
action_spec = env.action_spec()
action_dim = action_spec.shape[0]
obs_keys = list(env.observation_spec().keys())
env.close()
print(f" - {task:20s} (action_dim={action_dim}, obs={obs_keys})")
except Exception as e:
print(f" - {task:20s} (error: {e})")
print("\n" + "=" * 50)
print(f"Total: {len(suite.BENCHMARKING)} environments")
if __name__ == "__main__":
main()