This is a Python 3 implementation of a multi-layer perceptron using Numpy and optionally Matplotlib for cost function visualization.
It is provided under GPLv3 licence.
It implements forward-propagation and backward-propagation (gradient descent).
It allows to learn examples and trying to minimize cost function.
It provides also Momentum optimization, RMSProp optimization, Adam optimization and Forbenius norm regularization.
Note: I developed this only to implement myself the algorithms for fun and not for any production purpose. I already coded MLPs years ago in C and in C++.
I tested it with images of characters (in PGM format) extracted from a scanned image with an other program I developed many years ago in C++ but very dirty so I don't provide it.
I provide the jupyter notebook I used for some tests.