Skip to main content

A collection of multi agent environments based on OpenAI gym.

Project description

ma-gym

It's a collection of multi agent environments based on OpenAI gym. Also, you can use minimal-marl to warm-start training of agents.

Python package Upload Python Package Python Version Downloads Wiki Docs Papers using ma-gym Open In Colab

Installation

  • Setup (important):
       pip install 'pip<=23.0.1'
       pip install 'setuptools<=66'
       pip install 'wheel<=0.38.4'
    
  • Install package:
    • Using PyPI:

      pip install ma-gym
      
    • Directly from source (recommended):

      git clone https://github.com/koulanurag/ma-gym.git
      cd ma-gym
      pip install -e .
      

Reference:

Please use this bibtex if you would like to cite it:

@misc{magym,
      author = {Koul, Anurag},
      title = {ma-gym: Collection of multi-agent environments based on OpenAI gym.},
      year = {2019},
      publisher = {GitHub},
      journal = {GitHub repository},
      howpublished = {\url{https://github.com/koulanurag/ma-gym}},
    }

Usage:

import gym

env = gym.make('ma_gym:Switch2-v0')
done_n = [False for _ in range(env.n_agents)]
ep_reward = 0

obs_n = env.reset()
while not all(done_n):
    env.render()
    obs_n, reward_n, done_n, info = env.step(env.action_space.sample())
    ep_reward += sum(reward_n)
env.close()

Please refer to Wiki for complete usage details

Environments:

  • Checkers
  • Combat
  • PredatorPrey
  • Pong Duel (two player pong game)
  • Switch
  • Lumberjacks
  • TrafficJunction
Note : openai's environment can be accessed in multi agent form by prefix "ma_".Eg: ma_CartPole-v0
This returns an instance of CartPole-v0 in "multi agent wrapper" having a single agent. 
These environments are helpful during debugging.

Please refer to Wiki for more details.

Zoo!

Checkers-v0 Combat-v0 Lumberjacks-v0
Checkers-v0.gif Combat-v0.gif Lumberjacks-v0.gif
PongDuel-v0 PredatorPrey5x5-v0 PredatorPrey7x7-v0
PongDuel-v0.gif PredatorPrey5x5-v0.gif PredatorPrey7x7-v0.gif
Switch2-v0 Switch4-v0 TrafficJunction4-v0
Switch2-v0.gif Switch4-v0.gif TrafficJunction4-v0.gif
TrafficJunction10-v0
TrafficJunction10-v0.gif

Testing:

  • Install: pip install -e ".[test]"
  • Run: pytest

Acknowledgement:

  • This project was initially developed to complement my research internship @ SAS (Summer - 2019).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ma_gym-0.0.14.tar.gz (40.8 kB view details)

Uploaded Source

Built Distribution

ma_gym-0.0.14-py3-none-any.whl (55.9 kB view details)

Uploaded Python 3

File details

Details for the file ma_gym-0.0.14.tar.gz.

File metadata

  • Download URL: ma_gym-0.0.14.tar.gz
  • Upload date:
  • Size: 40.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for ma_gym-0.0.14.tar.gz
Algorithm Hash digest
SHA256 d0896657042a9e5427cd3fe051b9b35c8a6b7e24efff539d4be7eb8e8f624a2f
MD5 d80c49af2070372cf9be7347e3fb95c4
BLAKE2b-256 ed7df7d3f64e2f5d215c8ac604804bff8331fbc70580ed2da072e3ff04703acf

See more details on using hashes here.

File details

Details for the file ma_gym-0.0.14-py3-none-any.whl.

File metadata

  • Download URL: ma_gym-0.0.14-py3-none-any.whl
  • Upload date:
  • Size: 55.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for ma_gym-0.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 56e664ce35c41976cf518fb2f0d4278e4c71ae4da9bdda28b32b2abe887fd4ee
MD5 5ed3c0ccda9f39c633877514d06b1ff9
BLAKE2b-256 bbde643f458fb0299480a9e0a4277b236fea5e103a571793215b88a2b6217124

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page