We will skip explanations for the two utility functions, reformat and accuracy, as we've already encountered these in Chapter 2, Your First Classifier. Instead, we will jump directly to the neural network configuration. For comparison, the following figure shows our model from Chapter 2, Your First Classifier, and the next figure shows our new model. We'll run the new model on the same notMNIST dataset to see the accuracy boost that we will get (hint: good news!):

The following figure is our new model:
First, we will encounter a helper function, as follows:
def fc_first_layer_dimen(image_size, layers): ...