instadeepai / Mava

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

feat: change how networks are initialised by making use of hydra #1007

Closed EdanToledo closed 7 months ago

EdanToledo commented 7 months ago

What?

Change how networks are created to utilise hydra to instantiate torsos and action heads.

Why?

Makes it extremely easy to: a) change the network to be suitable for discrete or continuous environments b) change the type of critic head used i.e. a scalar head or a distributional head as this is all controlled in configs c) allow multi-runs and hyperparameter sweeps to easily tune not only the network configs but also the network types and structures etc.

All in all it makes it easier and more general to construct and change networks as well as parameterise them efficiently.

How?

Utilise hydras instantiate abilities.

Extra

I have added a CNN torso and config. Although i have not used them as there isn't an environment that has a 3D observation, I know it works/the config is set up correctly as i use it in a mava fork for single agent envs.

CLAassistant commented 7 months ago

CLA assistant check
All committers have signed the CLA.

EdanToledo commented 7 months ago

@RuanJohn is going to take over this PR. Thanks for the help.