← All projects

Image generation / Training experiment

Diffusion Explained

Build a small diffusion model and inspect how its generated images change through training.

My contribution
I implemented the PyTorch training experiment and explanatory material described in the portfolio.
Tools & methods
PyTorch · DDPM · DDIM · ONNX
Saved sample grid from the existing diffusion experiment at epoch 300.
Saved sample grid from the existing diffusion experiment at epoch 300.

The problem

What this project investigates

A compact implementation makes the steps of image diffusion easier to inspect: adding noise, learning to predict it and sampling new images.

The build

What I built

The project describes a DDPM trained on CIFAR-10 with a U-Net, a linear noise schedule, DDIM sampling and exponential-moving-average weights. Saved sample grids provide a record of training output.

Technical choices

Decisions behind the build

Keep the training example compact

The project prioritises an understandable PyTorch implementation.

Distinguish explanation from inference

The original page explicitly labels its denoising animation as a simulation.

Current status

What the evidence shows

Training samples and external artifact addresses are included in the repository. ONNX parity is reported in the description but was not rerun here. The sample image is evidence of output, not a quality benchmark.

Further work & evidence gaps

The registry still marks this work in progress. Browser inference support needs verification before a live-demo claim.