This is an MLP written in Python without an ML framework. It is still a work in progress. The model itself is located in mlp.py. Some helpful functions are in functions.py. An example of the MLP being used is in example.py where the neural network is used to classify the MNIST Handwritten Digits database.
The number of layers and their sizes are variable. The model trains by using batch stochastic gradient descent. The activation function of every layer is the sigmoid function, so the model can only be used for classification.