Forward pass, backward pass and a working network in NumPy before you are allowed to import a framework.
12h · 8 lessons · 1 challenge
Before this: Calculus & Optimization, Classification & Logistic Regression
You write the whole thing: layers, activations, loss, backward pass, training loop, in NumPy. Then you reproduce it in PyTorch and confirm the gradients agree.
The point is that no part of a framework stays mysterious. Candidates who have done this can answer "what does .backward() actually do" in a way that ends the question, and they debug training failures far faster.
A target accuracy and a parameter budget. Assemble layers, pick activations, train, iterate. Fewest parameters wins.
Worth 600 XP.