This is my mini project at university for the "Mathematics for Machine Learning" subject. I used NumPy to design an autograd model for a classification task (on MNIST). The presentation slide can be found in slide.pdf. If you find anything incorrect, please feel free to inform me; I'll be more than willing to fix it.
- model.py: model file, including Conv2D, padding, max pooling, flatten, ReLU, and cross-entropy loss.
- train.py: training code.
- inference.py: inference from an existing checkpoint (checkpoint.npz).
- eval.py: evaluate from an existing checkpoint.
- eval_from_prerun.py: evaluate from saved result NumPy arrays.