I created my first neural network that can recognize handwritten digits (Github link in comments)

Essentially, the network converts the image's pixels to a number, so each image is represented as a numpy array. In this case, I have normalized the number, so the numbers are between 0 and 1.

Then the network uses convolutions to train using these "arrays" used to represent each image. Convolutions basically mimic how mammals see images, using "kernels" to scan through a designated are and then jumps to a new area (with a designated stride size). The details are quite complicated. There are several great tutorials online that explains the process.

After the network is trained. The testing images (the images that I draw) again gets converted into numpy arrays and the network predicts it.

/r/Python Thread Parent Link - v.redd.it