Implementing a minimal version of DDIM on MNIST.
diffusers
pytorch
torchvision
The following script puts visualizations in visuals/
and checkpoints in checkpoints/
python train_ddpm.py
python ddim.py --checkpoint <path to checkpoint>
The cool thing about DDIM is you can verify whether it works by checking whether applying forward and then backwards diffusion results in the original image.
Here's my test: