The 2020 code that reverse-engineered noise into images
Original research code for the 2020 paper that taught neural networks to reverse noise into images.

What it does
This is the official companion code for Denoising Diffusion Probabilistic Models, the 2020 paper by Ho, Jain, and Abbeel. It learns a neural network to undo a fixed noise-corruption process, synthesizing images from pure static. Training and evaluation scripts live in the scripts/ directory, and the authors host pre-trained checkpoints alongside sample outputs on Dropbox.
The interesting bit
Think of it as the ancestral codebase for the entire modern diffusion wave—every later image generator that un-noises latent space descends from the math here. The real value is archaeological: the dependencies are frozen in amber, including TensorFlow 1.15 and Python 3.5.
Key highlights
- Official implementation of the foundational 2020 DDPM paper.
- Training and evaluation scripts for image generation in the
scripts/directory. - Pre-trained models and generated samples available via Dropbox.
- Built to run on Google Cloud TPU v3-8.
- Assumes Google Cloud Storage buckets follow a
gs://prefix-us-central1naming pattern.
Caveats
- The stack is a time capsule: requires TensorFlow 1.15 and Python 3.5.
- Scripts hard-code assumptions for GCS bucket naming and regional suffixes.
- Experiments were explicitly run on Google Cloud TPU v3-8.
Verdict
Essential browsing for researchers tracing the lineage of generative AI; a hard pass for anyone looking for a modern, maintained diffusion framework.
Frequently asked
- What is hojonathanho/diffusion?
- Original research code for the 2020 paper that taught neural networks to reverse noise into images.
- Is diffusion open source?
- Yes — hojonathanho/diffusion is an open-source project tracked on heatdrop.
- What language is diffusion written in?
- hojonathanho/diffusion is primarily written in Python.
- How popular is diffusion?
- hojonathanho/diffusion has 5.3k stars on GitHub.
- Where can I find diffusion?
- hojonathanho/diffusion is on GitHub at https://github.com/hojonathanho/diffusion.