Skip to content

An implemention of convolutional neural network using numpy to recognize hand-written digits.

Notifications You must be signed in to change notification settings

Direct20/CNN-numpy

Repository files navigation

CNN-numpy

An implementation of convolution nueral network for recognizing hand-written digits using numpy.

Structure

alt text

How to use

Run main.py and wait for training process. Then, it will show the loss curve, accuracy curve, and some performance index. After closing the plot, you can enter an image index in the terminal to supervise the recognizing result directly.
(It uses MNIST built-in keras, but you can modify it easily.)

Curves

alt text
Fig.1 Loss curve and accuracy curve. alt text
Fig.2 Learning rate curve

Result

alt text
Fig.3 Preview

Notice

There is something wrong with weight updation in the process of convolution layer backward propagation. To prevent this problem, we use 2 Sobel filters and cancelled weight updation in the convolution layer. The result is acceptable as well. You can fix bugs inside ConvLayer on yourself.

About

An implemention of convolutional neural network using numpy to recognize hand-written digits.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages