Skip to content

Neural network classifier from scratch for the FashionMNIST and MNIST datasets, written in pure C++ 17

Notifications You must be signed in to change notification settings

ondrej33/neural-network-mnist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Feed-forward neural network from scratch

This is a feed-forward neural network made from scratch in C++, designed to tackle MNIST and FashionMNIST datasets. The datasets consist of thousands of pictures - either of handwritten digits, or product pictures of clothing from the Zalando catalogue. The network achieves an accuracy of over 88% on FashionMNIST after just a few minutes of training.

The code is written in C++ 17 without using any 3rd party library - everything is built from scratch, including my own library for matrix and vertex operations.

The network is trained using a batch version of SGD with Adam optimizer and learning rate decay.

This was a semestral project for the class PV021 Neural Networks at the FI MU.

Running the network

To successfully run the program (both training and inference), you must add a data folder with actual train+test data and label CSV files. The data itself is not included in this GitHub repo, you can download it for example here.

Use the evaluator script in the python_evaluator directory to evaluate the results.

About

Neural network classifier from scratch for the FashionMNIST and MNIST datasets, written in pure C++ 17

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published