Cursarium logoCursarium
advancedFree

Practical Deep Learning for Coders Part 2: Deep Learning Foundations to Stable Diffusion

by Jeremy Howard · fast.ai

4.8
(1,800 reviews)
100K+ enrolled14 weeksUpdated 2024-01

Our Verdict

Worth it — with caveats

fast.ai's Part 2, "Deep Learning Foundations to Stable Diffusion," is one of the only free courses that rebuilds a generative image model end-to-end, taking you from raw matrix multiplication and hand-coded backpropagation up to a working Stable Diffusion implementation written from scratch in PyTorch. Across 30+ hours of video (Lessons 9-25, plus bonus lessons) Jeremy Howard and collaborators from Stability.ai and Hugging Face build a small training framework called miniai and implement papers like DDPM, DDIM and Karras et al. (2022) line by line. It is genuinely advanced and unapologetically code-first: the official prerequisite is being a "reasonably confident deep learning practitioner" who has finished Part 1 or is fluent in PyTorch and SGD training loops. Community sentiment (Hacker News, fast.ai forums) is strongly positive on the depth, with the common caveat that it demands a large, sustained time commitment and is aimed at people who want to understand and research model internals rather than ship products with off-the-shelf APIs. Verdict: take it if you want from-scratch mastery of diffusion and neural-net foundations; skip it if you only need to use generative AI rather than build it.

Exceptional, free, paper-faithful coverage of diffusion and deep-learning internals, but it is explicitly advanced (Lessons 9-25, requires Part 1 / solid PyTorch) and heavy on time, so it only pays off for people who want to build and research models from scratch rather than apply pre-built APIs.

Best for: Confident deep learning practitioners, ML engineers and aspiring researchers who already know PyTorch and SGD training loops and want to understand diffusion models from first principles, implement papers (DDPM, DDIM, Karras 2022) from scratch, and build their own mini training framework rather than just call a library.

Skip if: Beginners, people new to PyTorch, or product builders who just want to use Stable Diffusion / generative APIs to ship features. fast.ai itself points this audience to Part 1; the maintainers note that for shipping products, deep internals matter less than sound engineering. Anyone wanting a certificate or graded credential should also skip it (none is offered).

About This Course

Goes from foundations of neural networks to implementing stable diffusion from scratch, covering backprop, attention, and diffusion math.

What You'll Learn

Implement Stable Diffusion and diffusion models (DDPM and DDIM) from scratch in PyTorch, including unconditional and conditional generation and custom samplers
Build core neural-net machinery by hand: matrix multiplication, forward/backward passes, and backpropagation through an MLP before relying on autograd
Construct a small deep-learning training framework (miniai) with a flexible Learner/callback system using nbdev
Apply and reason about initialization, normalization (LayerNorm/BatchNorm), accelerated optimizers (AdamW, RMSProp), mixed-precision training, and ResNet/U-Net architectures
Implement attention and transformers and connect them to latent diffusion
Read modern research papers and reproduce them in code, including "Elucidating the Design Space of Diffusion-Based Generative Models" (Karras et al., 2022)
Experiment with applied techniques such as textual inversion and Dreambooth on top of the from-scratch foundations

Curriculum

Lesson 9 - Stable Diffusion (+ bonus 9a, 9b)

Introduction to Stable Diffusion and how diffusion-based image generation works, using the Hugging Face Diffusers library before rebuilding it.

Lesson 10 - Diving Deeper

Deeper look at the diffusion pipeline and the components that will later be reimplemented from scratch.

Lesson 11 - Matrix multiplication

Rebuilding the most fundamental neural-net operation from the ground up in PyTorch.

Lesson 12 - Mean shift clustering

Clustering and tensor manipulation to build intuition and PyTorch fluency.

Lessons 13-14 - Backpropagation & MLP

Hand-coding forward and backward passes and backpropagation through a multilayer perceptron.

Lesson 15 - Autoencoders

Building autoencoders as a stepping stone toward latent representations.

Lesson 16 - The Learner framework

Designing the miniai Learner and callback system that powers the rest of the course.

Lesson 17 - Initialization / normalization

Weight initialization and normalization techniques (e.g. LayerNorm, BatchNorm) and why they matter.

Lesson 18 - Accelerated SGD & ResNets

Optimizers (AdamW, RMSProp) and residual network architectures.

Lesson 19 - DDPM and Dropout

Implementing the denoising diffusion probabilistic model (DDPM) and regularization.

Lesson 20 - Mixed Precision

Mixed-precision training for speed and memory efficiency.

Lessons 21-22 - DDIM and Karras et al. (2022)

Faster DDIM sampling and reproducing the Karras et al. 2022 diffusion design-space paper.

Lesson 23 - Super-resolution

Applying the framework to a super-resolution task.

Lesson 24 - Attention & transformers

Implementing attention and transformer blocks from scratch.

Lesson 25 - Latent diffusion

Tying components together into latent diffusion, the basis of Stable Diffusion.

Prerequisites

  • Completion of fast.ai Practical Deep Learning Part 1, or equivalent status as a "reasonably confident deep learning practitioner"
  • Comfort writing and debugging SGD/training loops in PyTorch
  • Familiarity with modern NLP and computer-vision model basics (e.g. via Kaggle or prior projects)
  • High-school-level calculus and probability (deeper math is introduced in context, not assumed up front)

Instructor

Jeremy Howard

Instructor · fast.ai

Pros & Cons

Pros

  • Completely free with no paywall, and the full notebooks (the miniai framework) are open-source on GitHub (fastai/course22p2, 500+ stars, ~290 forks)
  • Rare from-scratch depth: you actually implement Stable Diffusion and diffusion math rather than just calling an API, which learners say leaves them able to read and reproduce arbitrary research papers
  • Built with practitioners from Stability.ai and Hugging Face (Jeremy Howard, Tanishq Abraham, Jonathan Whitaker, Pedro Cuenca, Kat Crowson), so it reflects real research practice
  • Goes beyond the original Stable Diffusion paper to cover follow-up research (e.g. Karras et al. 2022), keeping the techniques modern
  • Teaches transferable internals - backprop, initialization, normalization, attention, optimizers - not just one model, so the knowledge generalizes

Cons

  • Steep difficulty and large time commitment: community reports suggest roughly 10+ hours per lesson and months for full mastery, far heavier than typical online courses
  • Not for beginners or product builders - it requires Part 1 / solid PyTorch, and fast.ai itself steers app developers to Part 1 instead
  • No certificate, grades, or formal credential, which matters for learners who need proof of completion
  • Content is anchored to the 2022/23 cohort and the then-current Stable Diffusion era, so some tooling and SOTA references have moved on since (course material lastUpdated around early 2024)

Alternatives To Consider

Frequently Asked Questions

Is Practical Deep Learning for Coders Part 2: Deep Learning Foundations to Stable Diffusion free?

Yes — Practical Deep Learning for Coders Part 2: Deep Learning Foundations to Stable Diffusion is free to access. Free to audit the full video course and access all notebooks on GitHub; no paid tier and no certificate. The optional companion path uses free/open tools (PyTorch, Hugging Face Diffusers, miniai); only third-party compute (e.g. cloud GPUs) may incur cost if you don't have a local GPU.

Who is Practical Deep Learning for Coders Part 2: Deep Learning Foundations to Stable Diffusion for?

Confident deep learning practitioners, ML engineers and aspiring researchers who already know PyTorch and SGD training loops and want to understand diffusion models from first principles, implement papers (DDPM, DDIM, Karras 2022) from scratch, and build their own mini training framework rather than just call a library.

What will you learn in Practical Deep Learning for Coders Part 2: Deep Learning Foundations to Stable Diffusion?

Implement Stable Diffusion and diffusion models (DDPM and DDIM) from scratch in PyTorch, including unconditional and conditional generation and custom samplers; Build core neural-net machinery by hand: matrix multiplication, forward/backward passes, and backpropagation through an MLP before relying on autograd; Construct a small deep-learning training framework (miniai) with a flexible Learner/callback system using nbdev; Apply and reason about initialization, normalization (LayerNorm/BatchNorm), accelerated optimizers (AdamW, RMSProp), mixed-precision training, and ResNet/U-Net architectures.

What are the prerequisites for Practical Deep Learning for Coders Part 2: Deep Learning Foundations to Stable Diffusion?

Completion of fast.ai Practical Deep Learning Part 1, or equivalent status as a "reasonably confident deep learning practitioner"; Comfort writing and debugging SGD/training loops in PyTorch; Familiarity with modern NLP and computer-vision model basics (e.g. via Kaggle or prior projects); High-school-level calculus and probability (deeper math is introduced in context, not assumed up front).

Is Practical Deep Learning for Coders Part 2: Deep Learning Foundations to Stable Diffusion worth it?

Exceptional, free, paper-faithful coverage of diffusion and deep-learning internals, but it is explicitly advanced (Lessons 9-25, requires Part 1 / solid PyTorch) and heavy on time, so it only pays off for people who want to build and research models from scratch rather than apply pre-built APIs.

How we reviewed this course

This is an independent editorial assessment by Cursarium, based on fast.ai's published course materials and aggregated public learner feedback (last reviewed 2026-06). We have not independently completed the course. Links to providers are standard references, not paid placements.