instadeepai / Mava

🦁 A research-friendly codebase for fast experimentation of multi-agent reinforcement learning in JAX
Apache License 2.0
737 stars 90 forks source link

feat: remove all systems'defaults and add a common default file #987

Closed WiemKhlifi closed 9 months ago

WiemKhlifi commented 10 months ago

What?

Integrate all system defaults and the system's logger defaults into a single defaults.yaml file.

Why?

This helps simplify the config's folder and avoids filling it with multiple default files for each new system.

How?

Note: There is another approach (shorter one) mentioned here and here.

WiemKhlifi commented 10 months ago

@sash-a I agree I don't like it either but we can avoid that if we only change the system name in the default before running the system.py file. I wouldn't say I like these two paths and the extra effort, but they're better than the old way.

So, based on what you said, I made a few changes based on that: add the num_updates, seed and total_timesteps to arch.yaml, and separate the logging params in the logging.yaml file.

But what remains unchanged is our use of different default configs for each system where the only difference is the system name (the network can be included as part of the default in the system.yaml`).

Thus, I made only one default for all systems and we only need to change the system name before running the system.py file OR just run this command and it will do the job:

python sytem_name.py system=system_name
WiemKhlifi commented 9 months ago

This will be taken care of after finishing our measure sets. An issue will be opened for this matter 😄