Software Packages

smalldiffusion (https://github.com/yuanchenyang/smalldiffusion/) is a lightweight Python package for training and sampling from diffusion models. It is built for easy experimentation when training new models and developing new samplers, supporting minimal toy models to state-of-the-art pretrained models. The core of this library is implemented in less than 100 lines of very readable PyTorch code. We will use this package for class assignments.

Huggingface diffusers (https://github.com/huggingface/diffusers) is a feature-rich library implementing state-of-the-art models. Although it has a large collection of models and pipelines, it has grown in complexity and is less suitable for pedagogical purposes.

Suggested Readings (more to be added soon)

Tutorials/Blog posts

Papers (Chronological order)