https://github.com/arkanivasarkar/deep-learning-from-scratch
Implementation of a Fully Connected Neural Network, Convolutional Neural Network (CNN), and Recurrent Neural Network (RNN) from Scratch, using NumPy.
https://github.com/arkanivasarkar/deep-learning-from-scratch
activation-functions batchnorm cnn cross-entropy-loss deep-learning dropout feedforward-neural-network neural-network neural-networks-from-scratch numpy oops-in-python optimizer pooling rnn university-assignment
Last synced: 6 months ago
JSON representation
Implementation of a Fully Connected Neural Network, Convolutional Neural Network (CNN), and Recurrent Neural Network (RNN) from Scratch, using NumPy.
- Host: GitHub
- URL: https://github.com/arkanivasarkar/deep-learning-from-scratch
- Owner: arkanivasarkar
- Created: 2023-05-11T13:56:27.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-27T17:28:15.000Z (11 months ago)
- Last Synced: 2025-02-01T21:32:20.707Z (8 months ago)
- Topics: activation-functions, batchnorm, cnn, cross-entropy-loss, deep-learning, dropout, feedforward-neural-network, neural-network, neural-networks-from-scratch, numpy, oops-in-python, optimizer, pooling, rnn, university-assignment
- Language: Python
- Homepage:
- Size: 18.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Deep-Learning-from-Scratch
This repository contains the implementation of deep learning networks from scratch. It project was developed as a part of the programming exercises of the **Deep Learning** course offered by the [**Pattern Recognition Lab**](https://lme.tf.fau.de/) at **Friedrich-Alexander-Universität (FAU)**.
The codes are written in *Python* using object oriented programming concepts such as, *inheritance* or *polymorphism*. All fundamental layers, activation and loss functions, optimizers and regularizers are implemented by coding the corresponding mathematical operations using *NumPy* only, without the use of any deep learning frameworks.
## Methods
The project is implemented in three parts as mentioned below. `NeuralNetwork.py` imports all layers and functions and runs them. `NeuralNetworkTests.py` contains unit tests for each and every layer and function to check if the implementation was properly done.The main class running everything is `NeuralNetwork.py`. Various unit tests for every layer and function are included in `NeuralNetworkTests.py`.
Detailed descriptions of implementation, along with methods and mathematical formulations can be found inside `Protocols`.