openrl  by OpenRL-Lab

RL framework for single/multi-agent, offline RL, self-play, and NLP tasks

created 2 years ago
760 stars

Top 46.7% on sourcepulse

GitHubView on GitHub
Project Summary

OpenRL is a unified, PyTorch-based reinforcement learning framework designed for researchers and practitioners. It simplifies the training of diverse RL tasks, including single-agent, multi-agent, offline RL, self-play, and natural language processing, offering a flexible and efficient platform.

How It Works

OpenRL employs a modular design with high-level abstractions, enabling users to train various tasks through a consistent interface. It supports a wide range of algorithms (PPO, MAPPO, DQN, SAC, DDPG, etc.) and integrates seamlessly with popular environments like Gymnasium, PettingZoo, and SMACv2. The framework also incorporates advanced features such as DeepSpeed for training acceleration and Hugging Face for model/dataset imports.

Quick Start & Requirements

  • Install: pip install openrl or conda install -c openrl openrl. Source install: git clone ... && cd openrl && pip install -e .
  • Prerequisites: PyTorch. GPU acceleration is supported via Docker.
  • Resources: Training on CartPole-v1 takes seconds on a laptop.
  • Docs: OpenRL Documentation

Highlighted Details

  • Supports NLP/RLHF, Multi-agent, Self-Play, Offline RL, and DeepSpeed, differentiating it from libraries like Stable-Baselines3 and Ray/RLlib.
  • Features an "Arena" for competitive agent evaluation and Hugging Face integration for models and datasets.
  • Includes support for LSTM, GRU, Transformer models, and automatic mixed precision training.
  • Offers extensive environment support (Gymnasium, PettingZoo, SMACv2, Isaac Gym, etc.) and popular visualization tools (wandb, tensorboardX).

Maintenance & Community

Maintained by OpenRL-Lab, with active development and community contributions welcomed. Community channels include QQ, Slack, and Discord.

Licensing & Compatibility

Licensed under Apache 2.0, permitting commercial use and integration with closed-source projects.

Limitations & Caveats

The main branch is under active development; a stable branch is available for general use. The framework is still evolving, with ongoing documentation updates.

Health Check
Last commit

11 months ago

Responsiveness

1 day

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

Explore Similar Projects

Feedback? Help us improve.