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
    • Building Models with nn.Module 11 lessons
      • Overview
      • How nn.Module tracks parameters
      • Sequential, ModuleList and ModuleDict
      • Buffers vs parameters
      • Weight initialisation
      • model.train() and model.eval()
      • BatchNorm and its running statistics
      • nn.Embedding and index errors
      • Padding and packing variable-length sequences
      • Hooks for inspecting a running model
      • Writing a custom loss function
      • Transfer learning: swapping the head and freezing a backbone
    • 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. Building Models with nn.Module

🧠 Deep Learning · Section 029

🧱 Building Models with nn.Module

How PyTorch keeps track of your layers, and the building blocks you reach for in almost every model you write.

Every lesson in this section is written by Pranay Mahendrakar.

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

Start with “How nn.Module tracks parameters”

Lessons in order

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

  1. 01 How nn.Module tracks parameters
  2. 02 Sequential, ModuleList and ModuleDict
  3. 03 Buffers vs parameters
  4. 04 Weight initialisation
  5. 05 model.train() and model.eval()
  6. 06 BatchNorm and its running statistics
  7. 07 nn.Embedding and index errors
  8. 08 Padding and packing variable-length sequences
  9. 09 Hooks for inspecting a running model
  10. 10 Writing a custom loss function
  11. 11 Transfer learning: swapping the head and freezing a backbone
Previous Autograd in Depth Next Datasets and DataLoaders

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.