← all repositories
cpnota/autonomous-learning-library

A PyTorch RL toolkit that skips the numpy detour

A research-oriented library for building deep RL agents with an object-oriented API and reference implementations of major algorithms.

655 stars Python ML FrameworksAgents
autonomous-learning-library
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

The autonomous-learning-library (ALL) is a PyTorch-native toolkit for constructing and evaluating deep reinforcement learning agents. It bundles reference implementations of seven modern algorithms—A2C, C51, DDPG, DQN, PPO, Rainbow, and SAC—plus four “vanilla” baselines. The library splits agents into reusable high-level implementations (all.agents) and environment-tuned presets (all.presets) for Atari, classic control, and MuJoCo/PyBullet tasks.

The interesting bit

The library’s Approximation API wraps common RL machinery—target networks, gradient clipping, learning rate schedules, multi-headed networks, loss scaling—into a single flexible object. The Environment interface is built directly on torch tensors, eliminating the usual numpy shuffle between frameworks. There’s also Slurm integration for cluster-scale experiments, which suggests the authors actually run the kind of large-scale sweeps that break lesser tools.

Key highlights

  • Seven modern deep RL algorithms plus four vanilla baselines, all in one package
  • Approximation API consolidates target networks, checkpointing, logging, and multi-head networks
  • torch-native Environment interface—no numpy tensor ping-pong
  • Built-in Slurm support, TensorBoard logging, and plotting utilities for benchmark reproduction
  • Preset scripts with CLI commands like all-atari Breakout a2c for quick testing
  • Benchmark plots included for Atari 40M, MuJoCo v4, and PyBullet v0

Caveats

  • The README notes benchmark results are “on-par with published results” but provides no specific numbers or comparison tables—just plots
  • 655 stars suggests a modest community; check issue tracker activity before betting a long project on it
  • The example project is in a separate repo, not included in the main package

Verdict

Worth a look if you’re prototyping new RL methods in PyTorch and want well-factored components rather than monolithic algorithm scripts. Skip it if you need a battle-tested, widely adopted framework with extensive community support—Stable-Baselines3 or RLlib are safer bets for production.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.