Skip to content

xinli2008/diffusion_from_scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Diffusion Models from Scratch

A PyTorch implementation of diffusion models built from scratch, featuring:

Key Features:

🎯 From-Scratch Implementation

  • Clean, modular codebase

🚀 Sampling Methods

  • DDPM (Denoising Diffusion Probabilistic Models)
  • DDIM (Denoising Diffusion Implicit Models)
  • (More to come...)

🧠 Network Architectures

  • UNet
  • DiT (Diffusion Transformer)
  • UViT (U-Vision Transformer)

📊 Datasets Support

  • MNIST
  • CIFAR-10
  • (More to come...)

Preliminary

  • diffusion process

DDPM forward and denosing process

Result

  • result on mnist dataset

采样图片

  • result on cifar-10 dataset

inference

  • loss

training loss

TODO List

  • Introduce cross_attention to fuse image information and classification information
  • Implement inference code
  • Experiment with different model architectures, e.g., Unet, DiT, UViT, etc.
  • Experiment with different noise schedulers, e.g., DDPM, DDIM, DPM-Solver, etc.
  • Add evaluation metrics such as FID and CLIP score
  • Experiment with different datasets, e.g., MNIST, CIFAR-10, text2image datasets, etc.
  • Experiment with different training methods, e.g., LoRA, etc.

Acknowledgements

About

A PyTorch implementation of diffusion models built from scratch

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages