Multi-Agent-Reinforcement-Learning  by yangchen1997

Multi-agent reinforcement learning algorithms in PyTorch

Created 4 years ago
252 stars

Top 99.6% on SourcePulse

GitHubView on GitHub
Project Summary

This repository provides PyTorch implementations of several multi-agent reinforcement learning (MARL) algorithms, including QMIX, PPO variants, and Grid Wise Control. It targets researchers and practitioners in MARL, offering a framework for training agents, experimenting with different strategies, and saving results, particularly within the PettingZoo MPE environments.

How It Works

The project leverages PyTorch for its deep learning backend, implementing algorithms like Grid-Wise Control, QMIX, and Centralized PPO. It supports configurable training strategies and includes functionality for saving trained models and experimental data. The implementation is integrated with PettingZoo's Multi Particle Environments (MPE), specifically using the Simple Spread environment.

Quick Start & Requirements

  • Installation/Execution: Run python main.py, configuring all parameters in config.yaml.
  • Prerequisites: Python 3.10.9, gymnasium 0.28.1, numpy 1.23.5, PettingZoo 1.23.0, Pytorch 1.12.1. Note: Python versions greater than 3.9 may not be compatible due to PettingZoo version constraints. Pytorch 2.0.0+cu118 on Python 3.9.16 is reported to work.
  • Links: No direct documentation or demo links are provided in the README.

Highlighted Details

  • Implements QMIX, Independent PPO, Centralized PPO, Grid Wise Control, Grid Wise Control+PPO, and Grid Wise Control+DDPG algorithms.
  • Utilizes PettingZoo's Multi Particle Environments (MPE), with a focus on the Simple Spread environment.
  • Includes built-in capabilities for saving model checkpoints and experimental data.

Maintenance & Community

No information regarding contributors, community channels (e.g., Discord, Slack), or project roadmap is present in the README.

Licensing & Compatibility

The README does not specify a software license, making commercial use or integration with closed-source projects uncertain.

Limitations & Caveats

The provided parameters in config.yaml are explicitly stated as non-optimal and require user adjustment. Python version compatibility is a potential issue, with versions above 3.9 facing challenges due to PettingZoo dependencies. The project currently focuses on a limited set of environments, with plans for future expansion.

Health Check
Last Commit

2 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.