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…
- Write a training loop from scratch: forward pass, loss, backward, optimizer step
- Use PyTorch tensors, autograd and nn.Module correctly (not just call .fit())
- Load data efficiently with Dataset/DataLoader, including batching and augmentation
- Do transfer learning: fine-tune a pretrained model (ResNet, ViT) on a new dataset
- Debug a network that isn't learning (loss not decreasing, exploding/vanishing gradients)
- Use a GPU correctly (device placement, mixed precision) and know when it isn't helping
- 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
- Explain what autograd does and how backpropagation actually computes gradients
- Your training loss is decreasing but validation loss is increasing -- what's happening and what do you do?
- Why would you use transfer learning instead of training from scratch?
- What's the effect of learning rate being too high vs too low? How do you find a good one?
- Explain batch normalization and why it helps training
- How do you handle a dataset that doesn't fit in GPU memory?
- Walk me through the shape of tensors flowing through a simple CNN