/diffuse

PyTorch implementation of diffusion models.

Primary LanguagePythonMIT LicenseMIT

Diffusion Experiments

An educational implementation of Denoising Diffusion Probabilistic Models, with corresponding blog post.

Includes:

  • A toy U-Net Model, which can be fit to MNIST - notebooks/diffusion.ipynb
  • Notebook used for blog visualisations - notebooks/visualize_diffusion.ipynb

This repo is a WIP. I hope to add some more substantial experiments soon.

Requirements

Required:

  • Python >= 3.7
  • PyTorch >= 1.7

Recommended:

  • Linux and CUDA

Install

pip install -r requirements.txt

Uses the PopGen framework to manage experiments.