An open API service indexing awesome lists of open source software.

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.

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