Skip to content

Building Neural Network from Scratch without using any standard inbuilt python libraries.

Notifications You must be signed in to change notification settings

vaishali18lalit/Build_nn_scratch

Repository files navigation

Build_nn_scratch

Building Neural Network from Scratch without using any standard inbuilt python libraries.

Neural Network Implementation from Scratch

Overview

This project aims to demonstrate the implementation of a neural network from scratch, without relying on any standard inbuilt libraries such as TensorFlow or PyTorch. By building a neural network from the ground up, we gain a deeper understanding of its underlying principles and mechanics.3 Datasets are used for this - Blobs, Circles and Fashion MNIST.

Features

Custom Implementation: We develop every component of the neural network, including layers, activation functions, loss functions, and optimization algorithms, from scratch using Python.

Modular Design:

The codebase is organized into modular components, making it easy to understand, modify, and extend. Each module encapsulates specific functionalities, promoting code reusability and maintainability.

Flexibility:

Users can experiment with different network architectures, activation functions, and optimization techniques by tweaking parameters in the code. This flexibility allows for a deeper exploration of neural network behavior and performance.

Contents

Neural Network Architecture: Define the structure of the neural network, including the number of layers, neurons per layer, and connectivity between layers.

Activation Functions:

Implement various activation functions such as ReLU, Sigmoid, and Tanh, allowing users to choose the activation function best suited for their application.

Loss Functions:

Implement popular loss functions such as Mean Squared Error (MSE) and Cross-Entropy Loss, enabling efficient training and evaluation of the neural network.

Optimization Algorithms:

Implement optimization algorithms like Gradient Descent and its variants (e.g., Stochastic Gradient Descent, Mini-Batch Gradient Descent) for training the neural network and updating model parameters.

Training Pipeline:

Develop a training pipeline to iteratively train the neural network on labeled datasets, monitor performance metrics, and adjust model parameters to improve accuracy.

Getting Started

To get started with this project, follow these steps:

Navigate to the Directory: Move into the project directory using cd neural-network-from-scratch.

Explore the Code: Dive into the codebase to understand how each component of the neural network is implemented. Feel free to modify the code and experiment with different configurations.

Run Examples: Check out the example scripts provided in the examples directory to see how to use the neural network implementation for various tasks such as classification or regression.

Contribute: If you find any issues or have suggestions for improvements, we welcome contributions from the community. Fork the repository, make your changes, and submit a pull request.

About

Building Neural Network from Scratch without using any standard inbuilt python libraries.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published