/DeepLearningFramework

This repository is an attempt to create a deep learning framework to aid in faster learning process for newbies in the deep learning field.

Primary LanguageJupyter NotebookMIT LicenseMIT

Deep Learning Framework

This repository is an attempt to create a deep learning framework to aid in faster learning process for newbies in the deep learning field.

The framework is simply an auto-differentiating program which implements the backpropagation algorithm, this is implemented in the graph class of the autogradients.py python file. The mathematical operations are recorded using the class file Tensor, all preliminary math operations are implemented in class file op.
Check the tutorial.ipynb file for information regarding how the framework can be used, the file demostrates 3 examples:

  • 4 Layer Neural network
  • Deep Neural network
  • Simple linear regression.

The tutorial spinoff.ipynb is the same as tutorial.ipynb but with more complex cost functions and the ease of training using the framework thereby exhibiting its usefullness.

The various mathematical operations that are supported currently by the framework are listed below:

  • op.add(x,y)
  • op.subtract(x,y)
  • op.multiply(x,y)
  • op.divide(x,y)
  • op.dot(x,y)
  • op.sum(x,axis=None)
  • op.mean(x)
  • op.reshape(x)
  • op.exp(x)
  • op.mse(x)
  • op.sigmoid(x)
  • op.RelU(x)
  • op.tanh(x)
  • op.softmax(x,axis=None)
  • op.crossentropy(x,y)
  • op.softmax_crossentropy(x,axis=None)