This repository contains a custom implementation of a feed-forward neural network using C++, developed from the scratch. This is a task of the Neural Networks course of Masaryk University (Brno, Czech Republic). The program yields minimum 88% of accurate test predictions (overall accuracy). L2 regularization is employed for better performance. The code is optimized for speed via OpenMP (16 threads).
The dataset utilized is the Fashion MNIST [0], which is an advanced version of the popular MNIST [1]. Fashion-MNIST is a dataset of Zalando's article pictures - inclusive of a training set of 60,000 examples and a test set consisting of 10,000 examples. Each instance is represented by a 28x28 grayscale image, and associated with a label from 10 classes. There are four data files - two serving as input vectors and two consisting of a list of expected predictions.
This program exports vectors of test predictions. The number on the i-th line represents the predicted class index (there are classes 0 - 9 for Fashion MNIST) for the i-th input vector. The files containing the exported predictions are named actualTestPredictions.
Follow the instructions below to have an instance of this project running on your local machine for development and testing purposes.
You can create a local copy of this project using:
git clone https://github.com/hookshoot/Advanced-Deep-Learning
Command for compiling, executing, and exporting all the required files:
./RUN
This command will read the data, train the model, and generate the file named actualPredictions containing the predictions.
Note: You can remove "module add gcc-10.2" from "RUN" if not testing on AISA computer
- Hookshoot [email protected]