A convolutional neural network implementation using numpy with no ML libraries. Used here to solve the MNIST handwritten digit classification problem. The model uses one convolutional layer, one pooling layer, and one fully connected layer with cross entropy loss. The size and number of filters as well as the size of the pooling layers can be adjusted. The model achieves above 80% accuracy with a loss of around 0.6 with three 3x3 filters and a 2x2 pooling layer.
Requires 80 bit longdouble, use wsl if running on windows