Skip to content
This repository was archived by the owner on Jun 2, 2025. It is now read-only.

Releases: facebookresearch/BenchMARL

1.5.0

01 May 12:59
9ed99a7
Compare
Choose a tag to compare

Discrete MASAC rewrite, static seeding in evaluation, experiment relaoding, tutorials, task restyle and much more

BenchMARL release paired with TorchRL 0.8

BC-Breaking changes:

  • Decouple Task enums from task classes by @matteobettini in #175 -> before, tasks were an enum that also contained the logic to create an environment, now the two concepts are separate. Task just contains the enum of available tasks and TaskClass contains the environment creation logic. This has been made to address #173

[Tutorial] Creating a VMAS scenario and training it #172

Open In ColabCreating a VMAS scenario and training it in BenchMARL. We will create a scenario where multiple robots with different embodiments need to navigate to their goals while avoiding each other (as well as obstacles) and train it using MAPPO and MLP/GNN policies.

[Feature] Reload experiment without re-passing config #179

You can now reload the experiment in many ways just by passing the checkpoint file
https://benchmarl.readthedocs.io/en/latest/concepts/features.html#reloading

[Feature, BC-breaking] Decouple Task enums from task classes #175

before, tasks were an enum that also contained the logic to create an environment, now the two concepts are separate. Task just contains the enum of available tasks and TaskClass contains the environment creation logic. This has been made to address #173

Example:

VmasTask.BALANCE # Task
VmasTask.BALANCE.get_from_yaml(path=None) # TaskClass, you can pass a custom yaml file path
VmasTask.BALANCE.get_task(config=None)  # TaskClass, you can pass a custom config if you don't want to load from yaml
assert  VmasTask.BALANCE.get_from_yaml()  == VmasTask.BALANCE.get_task(config=None)

[Feature] Static evaluation #185

By setting experiment.evaluation_static=True evaluation environments will be the same throughout training and in between runs

[Feature] Discrete MASAC rewrite #192

#192 has a really in depth explanation.

TL;DR look how good are the new Discrete MASAC implementations wrt to the old one on VMAS balance

W B Chart 15_04_2025, 10_19_47

What's Changed

New Contributors

Full Changelog: 1.4.0...1.5.0

1.4.0

06 Feb 10:57
Compare
Choose a tag to compare

BenchMARL release paired with TorchRL 0.7.0

A lot of new features and many bug fixes!

New environment: MAgent2

Thans a lot to @JoseLuisC99 for making their first contribution and helping in this effort

Parallel collection for non-vectorized envs

Thanks to a lot of help from @gliese876b we have introduced parallel collection for non-vectorized envs using torchrl ParallelEnv

Check it out here:

Prioritized replay buffers

Again, thanks a mil to @gliese876b

Ensemble models and algorithms

From the amazing request of @karthiks1701 we have introduced the possibilty of using different models and algorithms for different agent groups

Check it out here: https://benchmarl.readthedocs.io/en/latest/concepts/features.html#ensemble-models-and-algorithms

  • [Feature] Ensemble models and algorithms (different chioces for different agent groups) by @matteobettini in #159

Disk storage for replay buffers

Again, thanks to the input of @JoseLuisC99, we have added the possibility to store buffers on diisk

VMAS football

Enjoy the full power of the new VMAS football enviornment in BenchMARL

More info here: https://github.com/proroklab/VectorizedMultiAgentSimulator/releases/tag/1.5.0

football_vmas-ezgif com-optimize

What's Changed

New Contributors

Full Changelog: 1.3.0...1.4.0

1.3.0

25 Oct 15:55
Compare
Choose a tag to compare

Memory networks in BenchMARL

BenchMARL release paired with TorchRL 0.6.0

Highlights

RNNs in BenchMARL

We now support RNNs as models!

We have implemented and added to the library GRU and LSTM.

These can be used in the policy or in the critic (both from local agent inputs and from global centralized inputs). They are also compatible with any parameter sharing choice.

We have benchmarked GRU on a multiagent version of repeat_previous and it does solve the task, while just MLP fails

W B Chart 01_08_2024, 09_17_59

In cotrast to traditional RNNs, we do not do any time padding. Instead we do a for loop over time in the sequence while reading the “is_init” flag. This approach is slower but leads to better results.

Oh also as always you can chain them with as many models as you desire (CNN, GNN, ...)

Simplified model reloading and evaluation

We have added some useful tools described at here

In particular, we have added experiment.evaluate() and some useful command line tols like benchmarl/evaluate.py and benchmarl/resume.py that just take the path to a checkpoint file.

Basically now you can reload models from the hydra run without giving again all the config, the scripts will find the configs you used in the hydra folders automatically.

Better logging of episode metrics

BenchaMARL will now consider an episode done when the global task done is set. Thus, it will allow for agents done early (as long as the global done is set on all()

Here is an overview of how episode metrics are computed:

epispde_reward compuation

BenchMARL will be looking at the global done (always assumed to be set), which can usually be computed using any or all over the single agents dones.

In all cases the global done is what is used to compute the episode reward.

We log episode_reward min, mean, max over episodes at three different levels:

  • agent, (disabled by default, can be turned on manually)
  • group, averaged over agents in group
  • global, averaged over agents in groups and gropus

What's Changed

Full Changelog: 1.2.1...1.3.0

1.2.1

16 Jul 14:58
Compare
Choose a tag to compare

BenchMARL release paired with TorchRL 0.4.0

Many exctiting updates in this new release!

Most importantly there have been major inmpovements to the GNN and the addition of a new model: DeepSets

1718290825438

New features

New Contributors

Full Changelog: 1.2.0...1.2.1

1.2.0

26 Apr 11:04
69b873f
Compare
Choose a tag to compare

BenchMARL release paired with TorchRL 0.4.0

BenchMARL just got extended with 49 vision-based tasks from Google DeepMind MeltingPot 🎉

But wait there is more! We have added a brand new CNN model 🚀 that can be used in actors and critics (fully compatible with any parameter sharing and centralization choices)

What's Changed

Full Changelog: 1.1.1...1.2.0

1.1.1

04 Mar 10:05
276345b
Compare
Choose a tag to compare

Align to torchrl 0.3.1

What's Changed

Full Changelog: 1.1.0...1.1.1

1.1.0

02 Feb 14:34
6aae619
Compare
Choose a tag to compare

Highlights

What's Changed

New Contributors

Full Changelog: 1.0.0...1.1.0

1.0.0

26 Nov 09:47
Compare
Choose a tag to compare

BenchMARL docs

The BenchMARL docs are now available at https://benchmarl.readthedocs.io/.

What's Changed

Full Changelog: 0.0.4...1.0.0

0.0.4

31 Oct 16:56
Compare
Choose a tag to compare
0.0.4

0.0.3

25 Oct 08:12
Compare
Choose a tag to compare
  • Added yaml configuration files to PyPi package
  • Addded possibility to access the experiment from the algorithm