Machine learning & data science

Build and train neural networks in PyTorch

Tensors, autograd, training loops, transfer learning, GPU usage.

~40 focused hours·intermediate

Tools: PyTorch, torchvision, CUDA/GPU, TensorBoard

Market relevance — share of job ads asking for this
What employers mean

You should be able to…

  1. Write a training loop from scratch: forward pass, loss, backward, optimizer step
  2. Use PyTorch tensors, autograd and nn.Module correctly (not just call .fit())
  3. Load data efficiently with Dataset/DataLoader, including batching and augmentation
  4. Do transfer learning: fine-tune a pretrained model (ResNet, ViT) on a new dataset
  5. Debug a network that isn't learning (loss not decreasing, exploding/vanishing gradients)
  6. Use a GPU correctly (device placement, mixed precision) and know when it isn't helping
  7. Track experiments (loss curves, learning rate schedules) and know when to stop training

Needs first: Train and evaluate classical ML models

Learn — free, link-checked

The few resources that matter

Read · beginner · 60 min · pytorch.org

Deep Learning with PyTorch: A 60 Minute Blitz

Official tutorial that gets you from tensors to autograd to a trained CNN in one sitting -- the fastest legitimate path to a working training loop. — PyTorch
Watch · beginner · 70 min · youtube.com

Neural networks

The visual explanation of backpropagation that lets you actually answer 'walk me through how a network learns' instead of reciting the chain rule. — 3Blue1Brown
Read · beginner · 90 min · pytorch.org

Learn the Basics

Slower-paced official walkthrough of Datasets/DataLoaders, autograd, optimization and model saving -- fills the gaps the 60-minute blitz skips. — PyTorch
Course · intermediate · 1200 min · course.fast.ai

Practical Deep Learning for Coders

Top-down, code-first course (free videos + notebooks) that gets you to a fine-tuned, deployed image classifier before it explains the underlying math. — fast.ai
Practice

Handwritten Hindi/Devanagari character classifier

Train a CNN in PyTorch to classify handwritten Devanagari characters (public Devanagari character dataset on Kaggle/UCI) from scratch, then fine-tune a pretrained ResNet on the same data via transfer learning. Compare accuracy, training time and data efficiency between the two approaches, and log training curves.

Done when
  • Custom PyTorch Dataset/DataLoader with augmentation (rotation, noise) implemented
  • Training loop written manually (no high-level trainer library) with visible loss/accuracy curves
  • From-scratch CNN and fine-tuned pretrained model both trained and compared on the same test split
  • README states final test accuracy for both, and explains the tradeoff observed
Prove it

Evidence a recruiter can check

  • Public GitHub repo with training curves (loss/accuracy plots) checked in
  • README comparing from-scratch vs transfer-learning results with numbers
  • Model checkpoint or Hugging Face Hub upload others can run inference on
  • Can explain live why a specific architecture or augmentation choice was made
Interview

Questions you'll get asked

  1. Explain what autograd does and how backpropagation actually computes gradients
  2. Your training loss is decreasing but validation loss is increasing -- what's happening and what do you do?
  3. Why would you use transfer learning instead of training from scratch?
  4. What's the effect of learning rate being too high vs too low? How do you find a good one?
  5. Explain batch normalization and why it helps training
  6. How do you handle a dataset that doesn't fit in GPU memory?
  7. Walk me through the shape of tensors flowing through a simple CNN
See where you stand for Machine Learning Engineer