This project implements a simple neural network using only the NumPy library in Python to recognize handwritten digit from MNIST dataset. The neural network is built manually, including phases such as optimization with gradient descent, forward propagation, and backpropagation.
For the theoretical explanation see the attached .pdf
.
- Implementation of the neural network from scratch using only NumPy.
- Training functionality using gradient descent.
- Ability to predict output for new data once the network is trained.
- Flexible structure for the number of layers and the number of neurons in each layer.
- Python 3
- NumPy
- Clone the repository to your computer:
- Create a virtual environment (optional but recommended):
python3 -m venv venv
- Activate the virtual environment:
source venv/bin/activate
- Install the requirements:
pip install -r requirements.txt
The .ipynb
notebook it's ready for start, you just need to run it using your virtualenv or just upload it on Google Colab.