Skip to content

Latest commit

 

History

History
25 lines (16 loc) · 1.84 KB

File metadata and controls

25 lines (16 loc) · 1.84 KB

ANN-MLP (from scratch) - a school project

This project consists of an implementation of a Multi-Layer Perceptron, along with a User Interface which provides functionality for creating, training, and testing its models.

Training with 60000 training samples and 10000 testing samples from MNIST Handwritten DIGITS

Stochastic Gradient Descent will be used as the optimization algorithm for built models, and the training dataset will be shuffled every epoch to lessen the likelihood of overfitting.

Here's a training and testing result, with 40000 training samples and 8000 testing samples from MNIST Handwritten DIGITS A model trained and tested with MNIST Handwritten Dataset

NOTE

Controls for testing a model are enabled only if the loaded/current model is already trained.

I deliberately disabled the following textboxes:
• Input Layer Nodes, since its value will be automatically filled according to the pixel dimension of the given dataset samples, e.g. 784 for 28x28 images.
• Output Layer Nodes, since its value will be automatically filled according to the number of category or distinct labels found in the given dataset.
• Batch Size, since this model uses Stochastic Gradient Descent as its optimization algorithm.

I haven't added an input validation on the textboxes yet, so please provide an appropriate input for the enabled textboxes:

For now, when working with a different dataset e.g. MNIST Fashion Dataset, the folder name of unique classes must be indices i.e. 0,1,2...n number of unique classes.

Also, the feature for saving and loading models is not yet functional, and much of the code probably needs refactoring.