finds.dev← search

// the find

dennybritz/nn-from-scratch

★ 2,288 · Jupyter Notebook · MIT · updated Aug 2023

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.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →