ElegantRL  by AI4Finance-Foundation

Massively parallel DRL framework for cloud, emphasizing scalability and stability

Created 6 years ago
4,175 stars

Top 11.8% 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

1 month ago

Responsiveness

1 week

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

Explore Similar Projects

Starred by Alex Yu Alex Yu(Research Scientist at OpenAI; Former Cofounder of Luma AI), John Yang John Yang(Coauthor of SWE-bench, SWE-agent), and
6 more.

cleanrl by vwxyzjn

0.5%
8k
RL algorithms implementation with research-friendly features
Created 6 years ago
Updated 2 months ago
Starred by Jeff Hammerbacher Jeff Hammerbacher(Cofounder of Cloudera), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
3 more.

serve by pytorch

0.1%
4k
Serve, optimize, and scale PyTorch models in production
Created 6 years ago
Updated 1 month ago
Feedback? Help us improve.