This project implements a deep neural network, from scratch, without the use of external machine learning libraries. It features a NeuralNetwork class which allows to create a feedforward network of personalized shape and activation functions. This can be used to train simple deep learning models.
The code is structured as follows:
- NeuralNetwork.py: Allows to create a feedforward network of personalized shapes and activation functions. Contains a trainModel function to train the model for a given number of epochs and learning rate.
- Initializer.py: Different way to initialize weights and biases for a given layer.
- Var.py: Object which holds a floating variable and enables gradient computations.
- Utils.py: Provide various utility functions.
- FNN_Test.py: Instanciate a feedforward network and trains it on a generated dataset.
This project was build using the following technology: