#native_company# #native_desc#
#native_cta#

What is MNIST?

Let's get physical

Sometimes, nothing beats holding a copy of a book in your hands. Writing in the margins, highlighting sentences, folding corners. So this book is also available from Amazon as a paperback.

Buy now on Amazon

In this chapter, we are going to create our first network of neurons or neural network. We’ll be creating an application that can recognize handwritten digits, like so:

Example of how the MNIST application will detect that you have drawn the number 2
Figure 1. Example of how the MNIST application will detect that you have drawn the number 2

You draw your digit at the top, and it shows you underneath the number it thinks you drew. This is actually a very well known Machine Learning problem called MNIST[1], and it’s often used to teach Machine Learning, go ahead and google it you’ll find lots of references. It’s a great introduction, sophisticated enough so we can do some exciting things but hopefully not too complicated that it’s hard to understand, I’ll try to break it down step by step as much as possible.

Note

It’s so popular that it’s used to measure the relative performance of different Machine Learning algorithms. At http://yann.lecun.com/exdb/mnist/, you will find a list of various Machine Learning algorithms, their success at solving the MNIST problem, and an academic paper where you can learn more about that particular algorithm so you can use it yourself if you want.

We will use two types of Neural Networks to solve MNIST, firstly a straightforward densely connected neural network. As we build out this demo app, you will learn how to create a model, train a model, and then use the model, all with the higher level TensorFlow Layers API (so far, we have been using the very low-level Core API). Then we will move onto a more complex model called Convolutional Neural Network (CNN). CNN’s are very good at recognizing things in images. The plumbing for the application should remain unchanged, and we switch out the model. That’s what is so appealing about TensorFlow; the model can be somewhat abstracted from the training so you can tweak and try out different configurations quickly.

In the next lecture, we will go through how to get the starting code and a brief tour of the initial application. The critical thing to note is that we will focus entirely on the TensorFlow code, the UI code I won’t be going through at all.



Advanced JavaScript

This unique course teaches you advanced JavaScript knowledge through a series of interview questions. Bring your JavaScript to the 2021's today.

Level up your JavaScript now!