Semestral project for subject: Programing in C++
The program is designed as a learning platform for a better understanding of neural networks and their weaknesses. The program is now focused on MLP networks (one of the expansions may be to add other types of networks). The user can insert any images of numbers [0-9], which are subsequently recognized by the neural network. User can either use a pre-trained network (92% success rate) or create and train their own. Both the creation and the training of the network is included in the user interface, so the user does not need to know how to code neural networks, but is still able to use the program. If the user develops and trains a network, he can choose to save it. In this case, the program remembers the network and can be used even after restarting the program
The neural network is written using standard libraries only (the neural network libraries are not used at all). Winforms are used for GUI. Tests can be started by adding argument -test: ./digit-recognition.exe -test.
Neural network is designed especially for MNIST dataset in .csv format. You can download dataset in .csv format here:
These two files need to be inserted into folder with source files if user want to train his own neural netwrok.