geek-ai/MAgent
geek-ai/MAgent has 1,764 GitHub stars and 333 forks. GitHot measured 0 stars in 24 hours and +1 in 7 days. Last checked 2026-11-07 15:33 UTC. Last push 2022-10-22.
A Platform for Many-Agent Reinforcement Learning
Measured star growth
- in 24h
- 0
- in 7 days
- +1
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalThis project is no longer maintained
Please see https://github.com/Farama-Foundation/MAgent2 for a maintained fork of this project that's installable with pip.
MAgent
MAgent is a research platform for many-agent reinforcement learning. Unlike previous research platforms that focus on reinforcement learning research with a single agent or only few agents, MAgent aims at supporting reinforcement learning research that scales up from hundreds to millions of agents.
- AAAI 2018 demo paper: MAgent: A Many-Agent Reinforcement Learning Platform for Artificial Collective Intelligence
- Watch our demo video for some interesting show cases.
- Here are two immediate demo for the battle case.


Requirement
MAgent supports Linux and OS X running Python 2.7 or python 3. We make no assumptions about the structure of your agents. You can write rule-based algorithms or use deep learning frameworks.
Install on Linux
git clone [email protected]:geek-ai/MAgent.git
cd MAgent
sudo apt-get install cmake libboost-system-dev libjsoncpp-dev libwebsocketpp-dev
bash build.sh
export PYTHONPATH=$(pwd)/python:$PYTHONPATH
Install on OSX
Note: There is an issue with homebrew for installing websocketpp, please refer to #17
git clone [email protected]:geek-ai/MAgent.git
cd MAgent
brew install cmake llvm [email protected]
brew install jsoncpp argp-standalone
brew tap david-icracked/homebrew-websocketpp
brew install --HEAD david-icracked/websocketpp/websocketpp
brew link --force [email protected]
bash build.sh
export PYTHONPATH=$(pwd)/python:$PYTHONPATH
Docs
Examples
The training time of following tasks is about 1 day on a GTX1080-Ti card. If out-of-memory errors occur, you can tune infer_batch_size smaller in models.
Note : You should run following examples in the root directory of this repo. Do not cd to examples/.
Train
Three examples shown in the above video. Video files will be saved every 10 rounds. You can use render to watch them.
pursuit
python examples/train_pursuit.py --traingathering
python examples/train_gather.py --trainbattle
python examples/train_battle.py --train
Play
An interactive game to play with battle agents. You will act as a general and dispatch your soldiers.
- battle game
python examples/show_battle_game.py
Baseline Algorithms
The baseline algorithms parameter-sharing DQN, DRQN, a2c are implemented in Tensorflow and MXNet. DQN performs best in our large number sharing and gridworld settings.
Acknowledgement
Many thanks to Tianqi Chen for the helpful suggestions.
Explore related projects
tensorflow/tensorflow
An Open Source Machine Learning Framework for Everyone
201,367 starshuggingface/transformers
🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.
168,609 starsAUTOMATIC1111/stable-diffusion-webui
Stable Diffusion web UI
165,245 starsComfy-Org/ComfyUI
The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface. The fastest local inference engine in the world.
145,470 stars