ElegantRL  by AI4Finance-Foundation

Massively parallel DRL framework for cloud, emphasizing scalability and stability

created 6 years ago
4,115 stars

Top 12.1% on sourcepulse

GitHubView on GitHub
Project Summary

ElegantRL is a Python library for massively parallel deep reinforcement learning (DRL), designed for cloud-native environments and offering scalability and efficiency. It targets researchers and developers needing to train DRL agents across distributed systems, providing a stable and practical framework for various DRL algorithms and simulators.

How It Works

ElegantRL employs a micro-service architecture and containerization for cloud-native deployment. It is built to exploit parallelism, allowing it to scale across hundreds or thousands of computing nodes and GPUs. The library separates concerns into distinct components like workers (for environment interaction and data sampling) and learners (for network updates), facilitating efficient distributed training.

Quick Start & Requirements

  • Install via pip: pip3 install gym==0.17.0 pybullet Box2D matplotlib or pip install -r requirements.txt.
  • Core requirements: Python 3.6+, PyTorch 1.6+.
  • Optional but recommended: Numpy 1.18+, gym 0.17.0, pybullet 2.7+, Box2D 2.3.8, matplotlib 3.2.
  • For StarCraftII environments: bash ./elegantrl/envs/installsc2.sh and pip install -r sc2_requirements.txt.
  • Isaac Gym is required for some tests.
  • Tutorials and demos are available via Google Colab notebooks.

Highlighted Details

  • Supports massively parallel simulations using Isaac Gym (e.g., 4096 sub-envs on one GPU).
  • Claims to be more stable and efficient than Stable-Baselines3 and Ray RLlib.
  • Implements a wide range of model-free DRL algorithms for single-agent (DDPG, TD3, SAC, PPO, REDQ, DQN variants) and multi-agent (QMIX, VDN, MADDPG, MAPPO, MATD3) settings.
  • Integrates with simulators like OpenAI Gym, MuJoCo, PyBullet, and FinRL.

Maintenance & Community

The project is actively developed by the AI4Finance Foundation. Links to tutorials and demos are provided, suggesting an active community and educational focus.

Licensing & Compatibility

The repository does not explicitly state a license in the README. This requires further investigation for commercial use or closed-source linking.

Limitations & Caveats

The README mentions that some tests require Isaac Gym, which may not be universally available. The licensing status is not clearly defined, which could be a barrier for commercial adoption.

Health Check
Last commit

4 weeks ago

Responsiveness

1 week

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

Explore Similar Projects

Feedback? Help us improve.