Modular Single-file Reinfocement Learning Algorithms Library
Project description
abcdRL (Implement a RL algorithm in four simple steps)
English | 简体中文
abcdRL is a Modular Single-file Reinforcement Learning Algorithms Library that provides modular design without strict and clean single-file implementation.
When reading the code, understand the full implementation details of the algorithm in the single file quickly; When modifying the algorithm, benefiting from a lightweight modular design, only need to focus on a small number of modules.
abcdRL mainly references the single-file design philosophy of vwxyzjn/cleanrl and the module design of PaddlePaddle/PARL.
Documentation ➡️ docs.abcdrl.xyz
Roadmap🗺️ #57
🚀 Quickstart
Open the project in Gitpod🌐 and start coding immediately.
Using Docker📦:
# 0. Prerequisites: Docker & Nvidia Drive & NVIDIA Container Toolkit
# 1. Run DQN algorithm
docker run --rm --gpus all sdpkjc/abcdrl python abcdrl/dqn.py
For detailed installation instructions 👀
🐼 Features
- 👨👩👧👦 Unified code structure
- 📄 Single-file implementation
- 🐷 Low code reuse
- 📐 Minimizing code differences
- 📈 Tensorboard & Wandb support
- 🛤 PEP8(code style) & PEP526(type hint) compliant
🗽 Design Philosophy
- "Copy📋",
not "Inheritance🧬" - "Single-file📜",
not "Multi-file📚" - "Features reuse🛠",
not "Algorithms reuse🖨" - "Unified logic🤖",
not "Unified interface🔌"
✅ Implemented Algorithms
Weights & Biases Benchmark Report ➡️ report.abcdrl.xyz
- Deep Q Network (DQN)
- Deep Deterministic Policy Gradient (DDPG)
- Twin Delayed Deep Deterministic Policy Gradient (TD3)
- Soft Actor-Critic (SAC)
- Proximal Policy Optimization (PPO)
Citing abcdRL
@misc{zhao_abcdrl_2022,
author = {Yanxiao, Zhao},
month = {12},
title = {{abcdRL: Modular Single-file Reinforcement Learning Algorithms Library}},
url = {https://github.com/sdpkjc/abcdrl},
year = {2022}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.