// the find
dennybritz/nn-from-scratch
Implementing a Neural Network from Scratch
A 2015 Jupyter notebook implementing a two-layer neural network from scratch in NumPy, built to accompany a wildml.com blog post. It's a teaching artifact, not a library — the point is to read the code alongside the post and understand backprop by hand.
The code is genuinely minimal — no framework scaffolding hiding the math. The companion blog post is well-written and still one of the better introductions to backprop mechanics. Having both a .py module and a notebook gives you runnable code without being locked into Jupyter. 2000+ stars and 1000+ forks means the explanations clearly landed for a lot of people.
Last touched in 2023 only for minor cleanup — the actual pedagogy is from 2015 and assumes Python 2-era practices in places. No GPU, no batching beyond what NumPy handles, no multi-layer generalization — you'd need to rewrite almost everything to go beyond the toy example. If you already understand backprop, there's nothing here; this is strictly 101 material. The wildml.com blog itself has been intermittently down, which breaks the primary reason this repo exists.