Skip to content

Jackson-Kang/Pytorch-Diffusion-Model-Tutorial

Repository files navigation

Pytorch-Diffusion-Model-Tutorial

A simple tutorial of Diffusion Probabilistic Models(DPMs). This repository contains the implementations of following Diffusion Probabilistic Model families.

Prerequisites

(1) Download Pytorch and etcs.

(2) Install dependencies via following command

pip install -r requirements.txt

[Expremental Results]

  • Due to huge amount of time spent on training, most of the experiments have been conducted on MNIST dataset instead of CIFAR10. In the DDPM paper, 10 + hours spent on training the DDPM model using CIFAR10 dataset and TPU v3-8 (similar to 8 V100 GPUs).
  • Used a RTX-3090 GPU for all implementations.

01. Denoising Diffusion Probabilistic Models

  • trained on MNIST dataset for 100 epochs
  • ground-truth samples
    DDPM_ground_truth
  • generated samples
    DDPM_generated
  • perturbed samples
    DDPM_perturbed

References

[1] Deep Unsupervised Learning using Nonequilibrium Thermodynamics, J. Sohl-Dickstein et. al., Proceedings of the 32nd International Conference on Machine Learning, 2015
[2] Denoising Diffusion Probabilistic Models, J. Ho et. al., 34th Conference on Neural Information Processing Systems (NeurIPS 2020), 2020
[3] lucidrains' pytorch DDPM implementation
[4] acids-ircam's DDPM tutorials

About

A simple tutorial of Diffusion Probabilistic Models

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published