Skip to content

Implementation of a Fully Connected Neural Network, Convolutional Neural Network (CNN), and Recurrent Neural Network (RNN) from Scratch, using NumPy.

License

Notifications You must be signed in to change notification settings

arkanivasarkar/Deep-Learning-from-Scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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