vwxyzjn/cleanrl

High-quality single file implementation of Deep Reinforcement Learning algorithms with research-friendly features (PPO, DQN, C51, DDPG, TD3, SAC, PPG)

What it solves

CleanRL 解决了模块化深度强化学习(DRL)库的复杂性和不透明性。许多 RL 库使用大量抽象和子类化,使研究人员难以了解算法的精确实现细节,或在不必在深层文件层级中穿梭的情况下原型化新功能。

How it works

CleanRL 并非采用模块化架构,而是提供高质量、单文件的 DRL 算法实现。每个特定算法变体的所有细节都包含在一个独立的 Python 文件中。此方式将可读性与透明度置于代码复用之上,让用户能够直接看到算法的完整实现,而不必在多个模块之间切换。

Who it’s for

此库面向希望了解 RL 算法内部工作原理或原型化标准模块化库未支持的高级功能的研究人员和开发者。

Highlights

  • Single-file implementation: 每个算法变体都收录在单一文件中,便于阅读和调试。
  • Benchmarked results: 包含 7+ 算法在 34+ 游戏上的基准结果。
  • Experiment tracking: 集成 Tensorboard 和 Weights and Biases 用于日志记录和管理。
  • Cloud ready: 支持 Docker 和 AWS Batch,可将实验规模扩展到数千次运行。
  • Broad algorithm support: 实现 PPO、DQN、C51、SAC、DDPG、TD3、PPG 与 RND。