English | 简体中文
abcdRL 是一个模块化单文件强化学习代码库,提供“有但不严格”的模块化设计,和清晰的单文件算法实现。
阅读代码时,在单文件代码中,快速了解算法的完整实现细节;改进算法时,得益于轻量的模块化设计,只需专注于少量的模块。
abcdRL 主要参考了 vwxyzjn/cleanrl 的单文件设计哲学和 PaddlePaddle/PARL 的模块设计。
使用文档 ➡️ docs.abcdrl.xyz
路线图🗺️ #57
在 Gitpod🌐 中打开项目,并立即开始编码。
使用 Docker📦:
# 0. 安装 Docker & Nvidia Drive & NVIDIA Container Toolkit
# 1. 运行 DQN 算法
docker run --rm --gpus all sdpkjc/abcdrl python abcdrl/dqn_torch.py
- 👨👩👧👦 统一的代码结构
- 📄 单文件实现
- 🐷 低代码复用
- 📐 最小化代码差异
- 📈 集成 Tensorboard & Wandb
- 🛤 符合 PEP8 & PEP526 规范
- 要“拷贝📋”,
不要“继承🧬” - 要“单文件📜”,
不要“多文件📚” - 要“功能复用🛠”,
不要“算法复用🖨” - 要“一致的逻辑🤖”,
不要“一致的接口🔌”
Weights & Biases 性能报告 ➡️ report.abcdrl.xyz
- Deep Q Network (DQN)
dqn_torch.py
,dqn_tf.py
,dqn_atari_torch.py
,dqn_atari_tf.py
- Deep Deterministic Policy Gradient (DDPG)
ddpg_torch.py
- Twin Delayed Deep Deterministic Policy Gradient (TD3)
td3_torch.py
- Soft Actor-Critic (SAC)
sac_torch.py
- Proximal Policy Optimization (PPO)
ppo_torch.py
- Double Deep Q Network (DDQN)
ddqn_torch.py
,ddqn_tf.py
- Prioritized Deep Q Network (PDQN)
pdqn_torch.py
,pdqn_tf.py
@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}
}