Spaces:
Running
Running
| #!/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() | |