finds.dev

hardmaru/WorldModelsExperiments

World Models Experiments

View on GitHub

★ 749Jupyter Notebookupdated Sep 2022

// the take

This is David Ha's reference implementation for the 2018 "World Models" paper — a VAE for visual encoding, an MDN-RNN for learned dynamics, and a small linear controller evolved with CMA-ES, applied to CarRacing and a Doom-based environment. It's for people who want to read the actual code behind a landmark RL paper, not for anyone trying to build on world models today.

Code maps directly onto the paper's architecture (VAE + RNN + linear controller trained separately), which makes it a genuinely useful companion for understanding the method step by step. Includes the actual CMA-ES training logs and best-found weights (carracing.cma.16.64.*.json), so you can inspect real results rather than just trust the paper's numbers. The 'dream_env.py' / 'dream_model.py' setup for training the controller purely inside the learned RNN world model is a nice, self-contained illustration of the paper's central trick.

Dead framework: TF1.x-era code pinned to gym 0.9.4 and numpy 1.13.3 — the README says outright it does not work on gym 0.10+, and neither of those package versions install cleanly on modern Python without real effort. No commits of substance since the paper era; the 2022 push is just a pointer to a different author's TF2.2 reimplementation, meaning this repo itself is effectively unmaintained. Training is distributed via raw bash scripts calling out to GCE (gce_train.bash, gpu_jobs.bash) with no containerization here, so reproducing the original training run requires rebuilding infrastructure that no longer matches current cloud tooling. Not a library — there's no packaging, no API, just scripts per environment, so adopting any part of it means copying and adapting code rather than importing it.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
749
Forks
182
Language
Jupyter Notebook
Last commit
15 Sep 2022

// nearby

If WorldModelsExperiments isn't quite it.

All repos →