← all repositories
mimoralea/gdrl

A textbook's worth of RL algorithms, bottled in Docker

Companion notebooks for Manning's "Grokking Deep Reinforcement Learning" that ship as a pre-built container because dependency hell is its own environment.

1k stars Jupyter Notebook LearningAgents
gdrl
Velocity · 7d
+0.3
★ / day
Trend
steady
star history

What it does This repo holds Jupyter notebooks implementing every major algorithm from the Manning book Grokking Deep Reinforcement Learning — from tabular methods like SARSA and Q-Learning through modern deep RL such as DQN, A3C, PPO, SAC, and TD3. The author bundles everything into a Docker image so you pull, run, and start experimenting without wrestling with PyTorch, NumPy, or GPU drivers.

The interesting bit The pedagogical progression is unusually thorough: it starts with hand-rolled MDPs (FrozenLake, Russell and Norvig’s Gridworld) and builds methodically through Monte-Carlo, TD, eligibility traces, and finally actor-critic and policy-gradient methods. Most courses skip straight to DQN; this walks the full path.

Key highlights

  • 11 chapter notebooks covering 20+ algorithms, each matching a book chapter
  • Pre-configured Docker image (mimoralea/gdrl:v0.14) with Jupyter server ready on port 8888
  • GPU support via nvidia-docker or --gpus all flag
  • Password-protected notebooks (gdrl) out of the box
  • Includes both value-based classics (DQN, DDQN, Dueling DQN, PER) and policy-based methods (REINFORCE, A3C, A2C, PPO, SAC, TD3, DDPG)

Caveats

  • Docker-only: the README explicitly states only containerized execution is supported; local installs are on your own
  • Two chapters (1 and 13) have no notebooks, so the “Towards AGI” finale is just a Livebook link
  • Last image tag is v0.14; update cadence is unclear

Verdict Ideal if you’re working through the Manning book or want clean, runnable reference implementations of foundational RL algorithms. Skip it if you need a framework for production training or prefer to manage your own conda environment.

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