Repository navigation
Releases: arm-2-lab/MARL-BattleGrounds
Release list
MARL-BattleGrounds 1.0.1
Install
pip install "marl-battlegrounds[all]" # CPU
pip install "marl-battlegrounds[all,cuda13]" # NVIDIA GPU, driver 580 or newer
docker run --rm -it -p 127.0.0.1:8765:8766 -p 127.0.0.1:8767:8768 -v "${PWD}:/work" ghcr.io/arm-2-lab/marl-battlegrounds:1.0.11.0.0 can no longer download the released models; install 1.0.1. The Hugging Face
repositories were re-released without local folder paths, and their history was replaced.
What's New
- A new home. The repository, the Docker images and every link now live under
arm-2-lab. - Released models, re-released. The six Season 0 models and the results dataset on
Hugging Face carry no local folder paths, and
this release loads them at their new revisions by name. - A walkthrough notebook.
examples/quickstart.ipynb
shows the API with a drawn game, the speed, a short training run and the trained Season 0
teams. It opens in Colab; a run in Colab itself is not tested yet for this release. - Leaderboard entries.
python -m marl_battlegrounds entry new,entry checkand
entry submitstart, check and submit a leaderboard entry;training.current_choice
names the checkpoint a run would submit. - Install claims, tested. This release's dry run installs and evaluates a released model on
Linux (x86_64 and ARM) and an Apple Silicon Mac, each with Python 3.12, 3.13 and 3.14, and
checks the oldest supported Linux, Podman and Apptainer. The Linux floor is glibc 2.28
(the install guide said 2.27, which was wrong on ARM). - The paper. The README and
CITATION.cffcite the MARL-BattleGrounds paper. - A tidier tree. Examples sit in topic folders (
your_method/,training/,evaluate/,
tournaments/,play/), the benchmarks inscripts/dev/benchmarks/, and the tests in
topic subfolders. Behavior and every public name are unchanged.
Changed Import Paths
Every name you import from marl_battlegrounds or marl_battlegrounds.evaluation is
unchanged. Thirty-six internal modules moved into private folders, so these deep paths no
longer import (pickles of their classes stop loading; nothing in MARL-BGs pickles them):
| 1.0.0 path | 1.0.1 path (private) |
|---|---|
marl_battlegrounds.evaluation._asset_commands |
marl_battlegrounds.evaluation._tournaments._asset_commands |
marl_battlegrounds.evaluation.actor_projection |
marl_battlegrounds.evaluation._replays.actor_projection |
marl_battlegrounds.evaluation.canonical |
marl_battlegrounds.evaluation._tournaments.canonical |
marl_battlegrounds.evaluation.canonical_results |
marl_battlegrounds.evaluation._tournaments.canonical_results |
marl_battlegrounds.evaluation.capture |
marl_battlegrounds.evaluation._recording.capture |
marl_battlegrounds.evaluation.collection_types |
marl_battlegrounds.evaluation._recording.collection_types |
marl_battlegrounds.evaluation.controller_names |
marl_battlegrounds.evaluation._replays.controller_names |
marl_battlegrounds.evaluation.episode_metrics |
marl_battlegrounds.evaluation._metrics.episode_metrics |
marl_battlegrounds.evaluation.evaluation_capture |
marl_battlegrounds.evaluation._recording.evaluation_capture |
marl_battlegrounds.evaluation.events |
marl_battlegrounds.evaluation._recording.events |
marl_battlegrounds.evaluation.full_metrics |
marl_battlegrounds.evaluation._metrics.full_metrics |
marl_battlegrounds.evaluation.map_identity |
marl_battlegrounds.evaluation._recording.map_identity |
marl_battlegrounds.evaluation.metrics |
marl_battlegrounds.evaluation._metrics.metrics |
marl_battlegrounds.evaluation.population_selection |
marl_battlegrounds.evaluation._tournaments.population_selection |
marl_battlegrounds.evaluation.pov |
marl_battlegrounds.evaluation._replays.pov |
marl_battlegrounds.evaluation.recording_checkpoint |
marl_battlegrounds.evaluation._recording.recording_checkpoint |
marl_battlegrounds.evaluation.recording_context |
marl_battlegrounds.evaluation._recording.recording_context |
marl_battlegrounds.evaluation.recording_types |
marl_battlegrounds.evaluation._recording.recording_types |
marl_battlegrounds.evaluation.reducers |
marl_battlegrounds.evaluation._metrics.reducers |
marl_battlegrounds.evaluation.replay |
marl_battlegrounds.evaluation._replays.replay |
marl_battlegrounds.evaluation.replay_capture |
marl_battlegrounds.evaluation._replays.replay_capture |
marl_battlegrounds.evaluation.replay_recording |
marl_battlegrounds.evaluation._replays.replay_recording |
marl_battlegrounds.evaluation.replay_v2 |
marl_battlegrounds.evaluation._replays.replay_v2 |
marl_battlegrounds.evaluation.replay_v3 |
marl_battlegrounds.evaluation._replays.replay_v3 |
marl_battlegrounds.evaluation.replay_v4 |
marl_battlegrounds.evaluation._replays.replay_v4 |
marl_battlegrounds.evaluation.sampling_evidence |
marl_battlegrounds.evaluation._recording.sampling_evidence |
marl_battlegrounds.evaluation.scalar_reports |
marl_battlegrounds.evaluation._metrics.scalar_reports |
marl_battlegrounds.evaluation.tournament |
marl_battlegrounds.evaluation._tournaments.tournament |
marl_battlegrounds.evaluation.tournament_evidence |
marl_battlegrounds.evaluation._tournaments.tournament_evidence |
marl_battlegrounds.evaluation.tournament_execution |
marl_battlegrounds.evaluation._tournaments.tournament_execution |
marl_battlegrounds.evaluation.tournament_headlines |
marl_battlegrounds.evaluation._tournaments.tournament_headlines |
marl_battlegrounds.evaluation.tournament_inputs |
marl_battlegrounds.evaluation._tournaments.tournament_inputs |
marl_battlegrounds.evaluation.tournament_records |
marl_battlegrounds.evaluation._tournaments.tournament_records |
marl_battlegrounds.evaluation.tournament_schedule |
marl_battlegrounds.evaluation._tournaments.tournament_schedule |
marl_battlegrounds.evaluation.validation |
marl_battlegrounds.evaluation._recording.validation |
marl_battlegrounds.evaluation.wire_shapes |
marl_battlegrounds.evaluation._replays.wire_shapes |
Also
- GitHub Actions updated (checkout 7, setup-node 7, upload-artifact 7, download-artifact 8,
setup-uv 10.3). - The
notebookextra installsipywidgets, so the notebooks' progress bars work.
MARL-BattleGrounds 1.0.0
MARL-BattleGrounds 1.0.0 is the first release: the JAX-native benchmark for heterogeneous and competitive multi-agent reinforcement learning, on PyPI, Hugging Face and GitHub's container registry.
Install
pip install "marl-battlegrounds[all]" # CPU
pip install "marl-battlegrounds[all,cuda13]" # NVIDIA GPU, driver 580 or newerOr one command from the source archive (sh start.sh), or Docker
(ghcr.io/oceansystemslab/marl-battlegrounds:1.0.0, and 1.0.0-cuda12 for NVIDIA).
Every route is in the install guide.
The constraints files attached below pin every dependency to the tested versions,
one file per GPU choice: pip install -c constraints-cuda13.txt "marl-battlegrounds[all,cuda13]".
What Is In 1.0.0
- Team Deathmatch on 52 maps with five classes, eight hand-made scenarios, and
thousands of games at once on one GPU. - Six built-in learners (recurrent and feedforward MAPPO and IPPO, QMIX, PQN-VDN),
evaluation, tournaments with Elo ratings, metrics, replays, the Replay Viewer and
the BattleClient. - The six trained Season 0 models, with every save from 0 to 250 million steps, load
by name:marl_bgs.load_method("MARL-BattleGrounds/tdm-season-0-qmix@final"). - Short guides in
docs/, a generated API index, runnable examples, and the paper's
commands and results inscripts/paper_experiments/.
Python
Python 3.12, 3.13 and 3.14 are supported; 3.14 is recommended. Extending a saved
training run needs the exact Python and library versions it recorded (Python 3.14.5
for the released models). Canonical tournaments and adding games to a saved tournament
need Python 3.14.
Changes For Earlier Checkouts
marl_battlegrounds.policies.scripted(an empty placeholder package) is removed.- The
interopextra is removed; nothing used it. New extras:all,cuda12,rocm,tpu. - The paper's result tables moved from the package to
scripts/paper_experiments/results/. - Tests live in folders that mirror the package.
Not Tested Yet
Windows through WSL2, Docker Desktop, and Colab and Kaggle are supported routes that
have not been tested end to end yet; the README's install table marks them.