/Building_a_Neural_Network_with_Numpy

How to Implement a Neural Network from scratch using only Numpy

Primary LanguageJupyter Notebook

Neural Network from Scratch with NumPy 🧠

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.

Theoretical explanation 📘

For the theoretical explanation see the attached .pdf.

Features 🚀

  • 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.

Requirements 📋

  • Python 3
  • NumPy

Installation 💻 (if you want to run it in local)

  1. Clone the repository to your computer:
  2. Create a virtual environment (optional but recommended):
python3 -m venv venv
  1. Activate the virtual environment:
source venv/bin/activate
  1. Install the requirements:
pip install -r requirements.txt

Usage 📝

The .ipynb notebook it's ready for start, you just need to run it using your virtualenv or just upload it on Google Colab.