This repository contains several implementations of diffusion models, starting with a Denoising Diffusion Probabilistic Model (DDPM) and progressing to a conditional version (CDM). These exercises allow exploring image generation using a diffusion and denoising process.
Objective:
- Understand how probabilistic diffusion models (DDPM) work.
- Learn how images are generated by reversing a noise diffusion process.
- Implement the sampling process to progressively denoise an image from pure noise.
Objective:
- Train a DDPM model on image data.
- Implement the loss function and train the denoising network.
- Observe the improvement in image quality as the model progresses.
Objective:
- Extend the DDPM approach to allow for conditional image generation.
- Condition the model on additional information (e.g., class labels, textual descriptions, structured attributes).
- Experiment with a Conditional Denoising Diffusion Model (CDDM) for more precise control over generated images.
Trained models are saved in the models
directory.