This repository contains an implementation of Denoising Diffusion Probabilistic Models (DDPM) β a powerful class of generative models that learn data distributions through a sequence of denoising steps.
DDPMs are a class of generative models inspired by nonequilibrium thermodynamics. They work by gradually adding Gaussian noise to data and then learning to reverse this process to generate new samples.
This implementation follows the approach described in the original paper:
Denoising Diffusion Probabilistic Models
Jonathan Ho, Ajay Jain, Pieter Abbeel
[Paper]
ddpm/
βββ Dataset folder/ # Dataset directory with class-wise image folders
β βββ Class/
β βββ class_images/ # Images for a specific class
β
βββ models/ # Model definitions
β βββ DDPM_Unconditional/
β βββ unet.py # UNet architecture for unconditional DDPM
β
βββ generated/ # Output directory for generated/sampled images
β βββ sampled images/ # Generated image results
β
βββ Diffusion.py # Core diffusion process (forward & reverse)
βββ sample.py # Script to sample images using a trained model
βββ unet.py