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.

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
ApproximationAPI consolidates target networks, checkpointing, logging, and multi-head networkstorch-nativeEnvironmentinterface—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 a2cfor 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.