Diffusion Models Course: Implementation-First Learning of Score-Based and Diffusion Generative Models

A comprehensive course on diffusion models, starting from foundational concepts and building up to state-of-the-art techniques. You can find the course on my Github: Diffusion-Course

Course Philosophy

This course emphasizes:

  • Implementation-first learning: Reproduce papers through code
  • Mathematical rigor: Understand the theory behind the algorithms
  • Progressive complexity: Build from simple to advanced concepts
  • Modern tools: Use JAX for automatic differentiation and GPU acceleration
  • Connections: Explicit links between different frameworks (score-based ↔ diffusion)
  • Visualization: 2D examples for intuition, then scale to real images

Citation

If you use this repository in your research, please cite it as:

@misc{diffusion_course,
  author = {Fooladi, Hosein},
  title = {Diffusion Models Course: Implementation-First Learning of Score-Based and Diffusion Generative Models},
  year = {2025},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/HFooladi/blog-notebooks/tree/main/diffusion-course}},
  note = {Educational course implementing diffusion models from scratch using JAX, covering score matching, denoising score matching, NCSN, and DDPM}
}

Updated:

Leave a comment