Skip to content

Personal Project to better my understanding of neural networks by writing one from scratch

Notifications You must be signed in to change notification settings

AlexBoyle/Neural-Network

Repository files navigation

Neural-Network

This repository is a personal project I started to gain a better understanding of how simple (and complex) neural network systems work. I hope to add more to this repository in the future.

I originally wrote the basic network by following 3Blue1Brown's Neural Network Video

How to Run

Work on my PC

  1. Start by downloading the MNIST data set, move the following files into the root folder
train-images.idx3-ubyte
train-labels.idx1-ubyte
t10k-images.idx3-ubyte
t10k-labels.idx1-ubyte
  1. Then run the command make
  2. This should make a Run.exe file
  3. Running the Run.exe file will execute main in the Driver.cc file

Notes

  • On average, I see an accuracy of just above 89% (on the BasicNetwork)
  • BitNetwork is a WIP (an Idea after I saw this research paper)
    • Untested and probably not made correct (if I have even started on it, which I have not at time of writting)
  • The Matrix class is garbage (I'm not sorry; it does what I want it to)
  • The bias variable exists... but I never implemented it

About

Personal Project to better my understanding of neural networks by writing one from scratch

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published