312. Build a Neural Network Framework

Code your own neural network framework from scratch


In this course, we build a neural network framework from scratch. Using native Python and the Numpy library we build test data sets and a modular framework for putting together fully connected neural networks, like multilayer perceptrons and autoencoders. You can enroll below for free or, if it's easier, unlock the entire End-to-End Machine Learning Course Catalog for 20 USD.

Writing the code has been broken out into 28 separate coding exercises. In each one, we discuss the principles involved, list the goals, and then you get turned loose to write the code. To see an example, check out this exercise on backpropagation. You get to work at your own pace and on your own timeline. If you get stuck, there are discussion threads within each lesson so that I can help you get pointed in the right direction. After you’re done, I walk through my solution line by line, describing exactly what I did and why.

By the time you are done, you will have a simple but fully functional neural network framework. You will understand every important concept, including optimization, normalization, backpropagation, and gradient descent.

This sets you up to experiment on your own, to try more exotic architectures, and to better understand what frameworks like PyTorch and TensorFlow are doing behind the scenes.

This course has been more than a year in the making. I hope you enjoy taking it as much as I enjoyed making it. And I hope you get the deep satisfaction that comes from building your own neural network framework from basic building blocks.

"I was extremely pleased with this minicourse. I'd learned the math and everything behind all this in school, but we didn't touch implementations at all. Didn't even play around with any existing libraries. I was hoping to get a better sense of how the pieces tie together and gain some intuition for how to go about building something like this, and I got more than I expected with the approach you took. Very helpful, and very fun to follow along. You got yourself a return customer!"
Vinny M.

Course Curriculum

  3. Build a Fully Connected Linear Layer
Available in days
days after you enroll
  8. Build an Advanced Testing Set and Refine the Framework
Available in days
days after you enroll

Your Instructor

Brandon Rohrer
Brandon Rohrer

I love solving puzzles and building things. Machine learning lets me do both. I got started by studying robotics and human rehabilitation at MIT (MS '99, PhD '02), moved on to machine vision and machine learning at Sandia National Laboratories, then to predictive modeling of agriculture DuPont Pioneer, and cloud data science at Microsoft. At Facebook I worked to get internet and electrical power to those in the world who don't have it, using deep learning and satellite imagery and to do a better job identifying topics reliably in unstructured text. Now at iRobot I work to help robots get better and better at doing their jobs. In my spare time I like to rock climb, write robot learning algorithms, and go on walks with my wife and our dog, Reign of Terror.

Frequently Asked Questions

When does the course start and finish?
The course starts now and never ends! It is a completely self-paced online course - you decide when you start and when you finish.
How long do I have access to the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
What if I am unhappy with the course?
We would never want you to be unhappy! If you are unsatisfied with your purchase, contact us in the first 30 days and we will give you a full refund.

Get started now!