Skip to content

Experiment with diffusion models that you can run on your local jupyter instances

License

Notifications You must be signed in to change notification settings

varun-ml/diffusion-models-tutorial

Repository files navigation

Density estimation using Diffusion models (Pytorch + Jax/Haiku/Optax)

I will be demonstrating critical concepts of the diffusion model using a toy 2D distribution first, followed by using the same concepts on the EMNIST datasets.

Completed the following

Unexplored ideas

Notebook Github Link Colab
Basic: Predicting Original Distribution Vanilla Implementation Colab (Large)
Predicting Error and Score Function Error / Score Prediction Colab (Large)
Classifier free Guidance and other improvements Advanced concepts Colab (Large)
EMINST De-noising and Conditional generation Colab EMNIST Colab (Large)Colab (Small)

Generating names using EMNIST

Conditional denoising using the trained UNet model

alt text alt text

alt text

alt text

alt text

Generation toy distributions using diffusion models

Parabola

alt text

Circles

alt text

Half Moon

alt text

Circles + half-moon

alt text

Circles + moon using Clipping

alt text

Generating class-conditioned distributions

alt text

Generating class-conditioned distributions (few shots only using 2k samples)

alt text