Skip to content
A Multi-agent Learning Framework
Python Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Merge Dev (#22) Jun 30, 2019
examples Dev (#23) Jun 30, 2019
malib Merge Dev (#22) Jun 30, 2019
scripts
tests Merge Dev (#22) Jun 30, 2019
.gitignore Merge Dev (#22) Jun 30, 2019
.travis.yml
LICENSE
README.md
VERSION Merge Dev (#22) Jun 30, 2019
environment.yml
requirements.txt
setup.py Merge Dev (#22) Jun 30, 2019

README.md

Build Supported TF Version License

Multi-Agent Reinforcement Learning Framework

This Framework aims to provide an easy to use toolkit for Multi-Agent Reinforcement Learning research. Overall architecture:

processes

Environment: There are two differences for Multi-Agent Env Class: 1. The step(action_n) accepts n actions at each time; 2. The Env class needs a MAEnvSpec property which describes the action spaces and observation spaces for all agents.

Agent: the agent class has no difference than common RL agent, it uses the MAEnvSpec from Env Class to init the policy/value nets and replay buffer.

MASampler: Because the agents have to rollout simultaneously, a MASampler Class is designed to perform the sampling steps and add/return the step tuple to each agent's replay buffer.

MATrainer: In single agent, the trainer is included in the Agent Class. However, due to the complexity of Multi-Agent Training, which has to support independent/centralized/communication/opponent modelling, it is necessary to have a MATrainer Class to abstract these requirements from Agent Class. This is the core for Multi-agent training.

Installation

Required Python Version: >= 3.6

  • Using Local Python Environment:
cd malib
sudo pip3 install -r requirements.txt
sudo pip3 install -e .
  • Using virtualenv Environment:
cd malib
python3 -m venv env
source env/bin/activate
pip3 install -r requirements.txt
pip3 install -e.
  • Using Conda Environment:
cd malib
conda env create --file=environment.yml
conda activate malib
pip3 install -e .

Run Example

cd examples
python3 run_trainer.py

Testing Code

python -m pytest tests

Testing With Keyword

python -m pytest tests -k "environments"

Testing Code

python -m pytest tests

Testing With Keyword

python -m pytest tests -k "environments"

Reference Projects

The project implementation has referred much and adopted some codes from the following projects: agents, maddpg, softlearning, garage, markov-game. Thanks a lot!

You can’t perform that action at this time.