This repository contains implementations of two major diffusion model architectures for generative modeling on the Fashion-MNIST dataset:
- DDPM (Denoising Diffusion Probabilistic Models)
- Score-Based Diffusion (based on score matching)
- Flow Matching (applied to Paul15 scRNA-seq data)
Both implementations include:
- Unified EMA (Exponential Moving Average) for stable training
- UNet based backbone
- FID score evaluation
- VAE baseline for benchmarking
- ddpm_diffusion.ipynb works well and generates high-quality images with fast sampling, we should use this.
- score_based_diffusion.ipynb also works but the generated image quality is low and the EDM sampler is not working for now.
- paul15_flow_matching.ipynb implements flow matching on the Paul15 dataset (included in
data/), but on 2D embeddings.
The ddpm_diffusion.ipynb implementation is based on https://github.com/dome272/Diffusion-Models-pytorch