Skip to main content
Learn AI Create the Future — with Pranay
  • Learn
  • Paths
  • Projects
  • Practice
  • Glossary
  • Errors
  • LeetCode
  • Main site

Main site →
Select language

Translation is unavailable right now. Your browser’s own “Translate page” usually works.

Machine translation by Google

Topics

  • 🧱 Foundations 2 sections
  • 🤖 Machine Learning 11 sections
  • 📊 Statistics and Experiments 4 sections
  • 🧭 Doing the Work 9 sections
  • 🧠 Deep Learning 11 sections
    • Deep Learning 13 lessons
    • PyTorch Tensors 10 lessons
    • Autograd in Depth 10 lessons
      • Overview
      • How the autograd graph is built and freed
      • requires_grad and leaf tensors
      • detach, no_grad and inference_mode
      • Calling backward on a non-scalar output
      • In-place operations and when they break autograd
      • Gradient accumulation for large batches
      • Gradient clipping
      • Writing a custom autograd Function
      • Checking your gradients with gradcheck
      • Jacobians, vjp and jvp with torch.func
    • Building Models with nn.Module 11 lessons
    • Datasets and DataLoaders 10 lessons
    • Optimisers, Schedulers and the Training Loop 9 lessons
    • Debugging PyTorch 9 lessons
    • GPU Memory and Speed 10 lessons
    • Multi-GPU and Distributed Training 11 lessons
    • Checkpoints, Export and Inference 7 lessons
    • Reinforcement Learning 13 lessons
  • 🧰 Libraries and Frameworks 4 sections
  • 💬 Language and NLP 15 sections
  • 👁️ Computer Vision 13 sections
  • 🎙️ Speech, Forecasting and Recommenders 3 sections
  • ✨ Generative AI and LLMs 4 sections
  • 🔬 Inside a Transformer 11 sections
  • ⚙️ Production and MLOps 16 sections
  • 🌍 AI in the Real World 12 sections
  • ⚖️ Safety, Ethics and Law 2 sections

See all topics

  1. Home
  2. Learn
  3. Autograd in Depth

🧠 Deep Learning · Section 028

🔗 Autograd in Depth

PyTorch keeps a record of every calculation so it can work out who caused the error. This section is what that record really is.

Every lesson in this section is written by Pranay Mahendrakar.

10 of 10 lessons published · Three reading levels on every lesson

Start with “How the autograd graph is built and freed”

Lessons in order

Work top to bottom. Each lesson assumes the one above it.

  1. 01 How the autograd graph is built and freed
  2. 02 requires_grad and leaf tensors
  3. 03 detach, no_grad and inference_mode
  4. 04 Calling backward on a non-scalar output
  5. 05 In-place operations and when they break autograd
  6. 06 Gradient accumulation for large batches
  7. 07 Gradient clipping
  8. 08 Writing a custom autograd Function
  9. 09 Checking your gradients with gradcheck
  10. 10 Jacobians, vjp and jvp with torch.func
Previous PyTorch Tensors Next Building Models with nn.Module

Learn AI

Learn Artificial Intelligence the easy way.

Learn. Build. Ask. Share.

Free forever. No sign-up, no ads, no tracking.

Learn

  • All topics
  • Learning paths
  • Projects
  • Practice playground
  • AI glossary
  • Error database
  • LeetCode solutions

Start here

  • Python for AI
  • Mathematics for AI
  • Machine Learning
  • Classic Algorithms in Depth
  • Linear Models and Regularisation
  • Ensembles and Gradient Boosting

This site

  • Search
  • New lessons feed
  • Sitemap
  • About Pranay Mahendrakar
  • pranaymahendrakar.com

© 2026 Pranay Mahendrakar. Written for people who are starting from zero.

10 new lessons every day. If something here is wrong or confusing, that is worth fixing — say so.