This repository contains a PyTorch implementation of a Denoising Diffusion Probabilistic Model (DDPM) based on the paper Denoising Diffusion Probabilistic Models (2020) with slight modifications made based on a later paper Improved Diffusion Probabilistic Models (2021). The model is trained on the MNIST dataset to generate realistic handwritten digits.
- Implements the full DDPM framework using a cosine noise schedule
- U-Net architecture with residual blocks and self-attention
- Trains a noise prediction model using the simplified DDPM loss (MSE)
- Works on MNIST images (28x28 grayscale)
Sample results on training for 30 epochs with learning rate
