đ Denoising Diffusion Probabilistic Models (DDPM)
This project presents high - quality image synthesis results using diffusion probabilistic models. These models are a class of latent variable models inspired by non - equilibrium thermodynamics, achieving excellent performance on image datasets.
đ Quick Start
This section provides a brief introduction to the project and how to get started with inference and training.
⨠Features
- High - Quality Image Synthesis: Achieves high - quality image synthesis results, as demonstrated by excellent Inception and FID scores on datasets like CIFAR10 and LSUN.
- Multiple Noise Schedulers: Supports various discrete noise schedulers for inference, allowing users to balance quality and speed.
- Progressive Lossy Decompression: Naturally admits a progressive lossy decompression scheme.
đģ Usage Examples
Basic Usage
from diffusers import DDPMPipeline, DDIMPipeline, PNDMPipeline
model_id = "google/ddpm-ema-bedroom-256"
ddpm = DDPMPipeline.from_pretrained(model_id)
image = ddpm().images[0]
image.save("ddpm_generated_image.png")
Advanced Usage
For more in - detail information, please have a look at the official inference example
đ Documentation
Paper
Paper: Denoising Diffusion Probabilistic Models
Authors
Authors: Jonathan Ho, Ajay Jain, Pieter Abbeel
Abstract
We present high quality image synthesis results using diffusion probabilistic models, a class of latent variable models inspired by considerations from nonequilibrium thermodynamics. Our best results are obtained by training on a weighted variational bound designed according to a novel connection between diffusion probabilistic models and denoising score matching with Langevin dynamics, and our models naturally admit a progressive lossy decompression scheme that can be interpreted as a generalization of autoregressive decoding. On the unconditional CIFAR10 dataset, we obtain an Inception score of 9.46 and a state - of - the - art FID score of 3.17. On 256x256 LSUN, we obtain sample quality similar to ProgressiveGAN.
Inference
DDPM models can use discrete noise schedulers such as:
for inference. Note that while the ddpm scheduler yields the highest quality, it also takes the longest. For a good trade - off between quality and inference speed you might want to consider the ddim or pndm schedulers instead.
Training
If you want to train your own model, please have a look at the official training example
Samples




đ License
This project is licensed under the Apache - 2.0 license.