Skip to content
mike9251Public

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

15 Commits

Folders and files

Repository files navigation

Denoising Diffusion Probabilistic Models on CelebA

This repository contains code to train a DDP model on the CelebA dataset.

The project is inspired by the "Denoising Diffusion Probabilistic Models" paper, but streamlined to work with a single dataset (CelebA) for simplicity.

Setup

Clone repository

git clone <your-repo-url>
cd <repo-name>

Install dependencies

Install pytorch

pip install -r requirements.txt

Download Celeba 256 dataset

From Kaggle

Training

Every experiment took ~15 hours (200 epochs) using 1x Nvidia 4090 GPUs.

Unconditional DDPM

python src/train_ddpm.py data_path=<path-to-celeba-dataset> log_dir=<where-to-store-logs>

Conditional DDPM

python src/train_ddpm.py --config-name=train_ddpm_class_cond cfg_scale=0 data_path=<path-to-celeba-dataset> log_dir=<where-to-store-logs>

Conditional DDPM + Classifier Free Guidance

python src/train_ddpm.py --config-name=train_ddpm_class_cond data_path=<path-to-celeba-dataset> log_dir=<where-to-store-logs>

Training loss

alt text

Inference

Unconditional generation

python scripts/generate_images.py ckpt_path=<path-to-ckpt>

Conditional generation

python scripts/generate_images.py --config-name=generate_images_cond ckpt_path=<path-to-ckpt> cfg_scale=3.0

Conditional generation + CFG

python scripts/generate_images.py --config-name=generate_images_cond ckpt_path=<path-to-ckpt> cfg_scale=3.0

Acknowledgments

  1. Denoising Diffusion Probabilistic Models
  2. Video explanation | Video implementation

Notes

This project is simplified for research/educational purposes and focuses only on the CelebA dataset.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages