Code Monkey home page Code Monkey logo

distributedlearning's Introduction

Analyzing Variations in Distributed Deep Neural Network Learning

This project was done as part of the ECE751: Distributed Computing course at the University of Waterloo. By Vineel Nagisetty; Husayn Kara;

Table of Contents

  • Introduction
  • Usage
  • More Info

Introduction:

Our project implements Downpour Stochastic Gradient Descent (Downpour-SGD), an asynchronous distributed deep neural network training algorithm using Thrift IDL (for Python) and Pytorch. We also implement several novel variations to parts of the Downpour-SGD - namely in the data splitting as well as parameter aggregation steps.

Usage:

Source Code:

  • The code for the front-end, back-end and client servers is found in the src/frontEnd/serverFE.py, src/backEnd/serverBE.py, and src/client/client.py files respectively
  • The code for the fron-tend and back-end service handlers (that implement a majority of the Downpour-SGD algorithm) is found in the src/frontEnd/serviceFE.py and src/backEnd/serviceBE.py files respectively
  • The Deep Neural Network model architecture code is found in the src/utils/model.py file
  • The code for data splitting and parameter aggregation methods is found in the src/utils/splitData.py and src/utils/aggregateFeedback.py
  • The code for plotting the results is found in the src/utils/plotter.py

Reproduce Results:

  • To reproduce the results shown in the report, please install Thrift and all modules from the requirements.txt file and run the front-end, back-end and client servers (in that order)

More Info:

In order to get a better understanding of our implementation and results, read our report.

distributedlearning's People

Contributors

vin-nag avatar

Stargazers

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