Giter Site home page Giter Site logo

coordination-marl's Introduction

Promoting Coordination Through Policy Regularization in Multi-Agent Deep Reinforcement Learning

Link to the paper

To cite

@article{roy2020promoting,
  title={Promoting Coordination through Policy Regularization in Multi-Agent Deep Reinforcement Learning},
  author={Roy, Julien and Barde, Paul and Harvey, F{\'e}lix and Nowrouzezahrai, Derek and Pal, Chris},
  journal={Advances in Neural Information Processing Systems},
  volume={33},
  year={2020}
}

Online vsualisations

Visualisations of rollouts using MADDPG + CoachReg are available online: https://sites.google.com/view/marl-coordination/

Requirements

Open a terminal inside PromotingCoordination_NeurIPS2020_supplementaryMaterials, then:

  • Install a conda environment with Python 3.7: conda create --name test_env python=3.7
  • Install the regular dependencies: pip install -r requirements.txt
  • Install the external dependencies: pip install -e external_dependencies/multiagent_particle_environment_fork

Toy-experiment

To reproduce Figure 1. of Section 3 (coordinated vs non-coordinated policy space on toy experiment) run:

cd code/toy_experiment && python toy_main.py

Main experiments

To visualize trained_models

  1. Go in the code folder of the desired algorithm:

    • example1: cd code/continuous_control/coach
    • example2: cd code/discrete_control/coach
  2. Run evaluate.py with the desired arguments:

    • example1: python evaluate.py --root ../../../trained_models/continuous_control/chase --storage_name PB6_2bc3c27_5f7a15b_CoachMADDPG_chase_retrainBestPB3_review
    • example2: python evaluate.py --root ../../../trained_models/discrete_control/3v2football --storage_name Ju25_2667341_5e972b5_CoachMADDPG_3v2football_retrainBestJu24_benchmarkv3

Note: For discrete_control/3v2football you might need to define the following environment variables for the rendering to work properly: export PYTHONUNBUFFERED=1 && export MESA_GL_VERSION_OVERRIDE=3.2 && export MESA_GLSL_VERSION_OVERRIDE=150

To train new models

  1. Go in the code folder of the desired algorithm:

    • example1: cd code/continuous_control/coach
    • example2: cd code/discrete_control/baselines
  2. Run main.py with the desired arguments:

    • example1: python main.py --env_name spread --agent_alg CoachMADDPG
    • example2: python main.py --env_name 3v2football --agent_alg MADDPG

Run python main.py --help for all options.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.