A (hopefully) well-structured and easy to understand Jupyter notebook outlining some machine-learning basics with the help of a self-written adjustable neural network using purely the power of the brilliant NumPy module. I originally decided against using any mainstream machine-learning modules such as TensorFlow, PyTorch, Caffe, etc. in order to acquire a deeper understanding about the mathematics and tech behind deep neural networks.
Check out the notebook here!
If you want to clone this repository and run the notebook locally, then don't forget to install the dependencies, but most importantly, don't forget to also download the official MNIST Handwritten Digits Dataset and place it in the right place.
ann_mnist/
|- data/ // dataset directory
|- t10k-images-idx3-ubyte.gz // test features
|- t10k-labels-idx1-ubyte.gz // test labels
|- train-images-idx3-ubyte.gz // train features
|- train-labels-idx1-ubyte.gz // train labels
|- media/ // media for README.md
|- ...
|- snaps/ // generated media
|- ...
|- main.ipynb // main jupyter notebook
|- main.py // legacy, 2019 code (fashion dataset)
|- notebook.py // code-only version of notebook
|- ...
Some of my other machine-learning repositories that I might do a makeover on soon as well. For references to other (perhaps more interesting) reads, check out the articles I linked to every now and then in the notebook.
- ConvNet - MNIST Dataset [2019] ... Using a convolutional neural network to classify handwritten digits
- RNN (LSTM) - Goethe Texts [2019] ... Using a recurrent neural network (long short term memory) to generate characters in a "Goethe-like" manner
- ConvNet - Style Transer [2019] ... Using PyTorch and the VGG16 network to transfer artists' styles onto digital images
- ConvNet - Deep Dream [2019] ... Using PyTorch and GoogLeNet to generate mind-blowing images using a neural network's "imagination"
... Matthias Monschein (September 2021)