Git Product home page Git Product logo

computational_graph's Introduction

Deep Neural Networks Using Computational Graph

This project was made as the final project for E0 251 - Data Structrues and Algorithms course in Spring 2021 at Indian Institute of Science (IISc) Bangalore, India.

-- Project Timeline: [April 15, 2021 - May 30, 2021]

-- Project Status: [Completed]

Abstract

The basic idea in a computational graph is to express some neural network model as a directed graph expressing a sequence of computational steps. Each step in the sequence corresponds to a vertex in the computational graph, where each vertex takes some inputs and produces some output as a function of its inputs. In this project, I have built such a computational graph for a feedforward neural network model, which achieves two tasks: Forward Pass, and Backward Pass. To create such a computational graph I have made use of graph data structure and for implementing forward and backward passes, I have used a topological ordering algorithm. Forward pass is the first phase where we get predictions as output, and backward pass is the second phase where we use the outputs to update weights in the model moving backward in the graph so as to get better predictions in the next iteration, and the process of forward and backward pass keeps continuing until we achieve our target value.

Prerequisites

  • GCC Compiler 10.0+ version

Tech Stack

  • C++
  • Graph Data Structure
  • Kahn's Algorithm for Topological Ordering
  • Forward Propagation
  • Backward Propagation

Dataset Description

A dummy dataset was used with 9 dimensional feature set and 10 number of classes.

Results:

Input Target

In the above image we can see that the model is updating its parameters over the epochs in order to make the accurate prediction.

Authors:

computational_graph's People

Contributors

palash04 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.