A minimalistic and customizable neural network built from scratch using Python and NumPy.
-
Modular Design:
- Organized class structure for network components.
- Easily extendable to add new layers, activation functions, and loss functions.
-
Customizable Components:
- Fully connected (dense) layers with adjustable input and output sizes.
- Multiple activation and loss functions that can be modified.
-
Model Engine
- An "engine" that trains, evaluates, saves, and loads the neural network.
- Adjustable epochs and learning rates for training.
- Custom accuracy functions for evaluation.
- Trained on the MNIST dataset, achieving 95% accuracy on the testing set with custom hyperparameters.
-
Create a virtual environment and install dependencies:
pip install -r requirements.txt
For a specific usage example, check out MNIST_model_train.py
and MNIST_model_predict.py
.