DeepRL  by ShangtongZhang

PyTorch library for deep RL algorithm research

created 8 years ago
3,324 stars

Top 14.9% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides a modular implementation of popular deep reinforcement learning (DRL) algorithms in PyTorch, targeting researchers and practitioners in the field. It offers a flexible framework for experimenting with various DRL techniques on both toy tasks and complex environments like Atari games, facilitating rapid prototyping and comparison of algorithms.

How It Works

The library features a modular design allowing easy switching between different DRL algorithms and environments. It implements a range of popular algorithms including DQN variants (Double, Dueling, Prioritized), C51, QR-DQN, A2C, N-Step DQN, DDPG, PPO, Option-Critic, and TD3. For DQN, C51, and QR-DQN, it utilizes asynchronous actors for data generation and an asynchronous replay buffer for efficient data transfer to the GPU.

Quick Start & Requirements

  • Install: pip install -r requirements.txt (PyTorch v1.5.1 recommended).
  • Prerequisites: PyTorch.
  • Usage: Examples are provided in examples.py. A Dockerfile is available for reproducing performance curves.
  • Docs: https://github.com/ShangtongZhang/DeepRL

Highlighted Details

  • Modular implementation of 10+ popular Deep RL algorithms.
  • Supports both discrete and continuous action spaces.
  • Performance claims: DQN agent runs 10M steps (40M frames) in Breakout within 6 hours on a single RTX 2080 Ti.
  • Includes implementations for algorithms from the author's papers in separate branches.

Maintenance & Community

The project is maintained by Shangtong Zhang. Further details on community or roadmap are not explicitly provided in the README.

Licensing & Compatibility

The repository does not explicitly state a license. Users should verify licensing for commercial or closed-source use.

Limitations & Caveats

The project specifies PyTorch v1.5.1, which is an older version and may require compatibility checks with newer PyTorch releases. Some advanced algorithms are located in separate branches, suggesting a potential fragmentation of the codebase.

Health Check
Last commit

1 year ago

Responsiveness

1 day

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

Explore Similar Projects

Feedback? Help us improve.