Giter Site home page Giter Site logo

lindyld1314 / edgeml Goto Github PK

View Code? Open in Web Editor NEW

This project forked from microsoft/edgeml

0.0 2.0 0.0 7.6 MB

This repository provides code for machine learning algorithms for edge devices developed at Microsoft Research India.

License: Other

Makefile 0.09% C 2.28% C++ 79.89% CMake 1.78% Jupyter Notebook 1.74% Shell 0.22% Cuda 1.07% Fortran 10.80% JavaScript 0.06% CSS 0.04% Python 1.97% Batchfile 0.05%

edgeml's Introduction

Edge Machine Learning

This repository provides code for machine learning algorithms for edge devices developed at Microsoft Research India.

Machine learning models for edge devices need to have a small footprint in terms of storage, prediction latency, and energy. One example of a ubiquitous real-world application where such models are desirable is resource-scarce devices and sensors in the Internet of Things (IoT) setting. Making real-time predictions locally on IoT devices without connecting to the cloud requires models that fit in a few kilobytes.

This repository contains algorithms that shine in this setting in terms of both model size and compute, namely:

  • Bonsai: Strong and shallow non-linear tree based classifier.
  • ProtoNN: Prototype based k-nearest neighbors (kNN) classifier.
  • EMI-RNN: Training routine to recover the critical signature from time series data for faster and accurate RNN predictions.
  • FastRNN & FastGRNN - FastCells: Fast, Accurate, Stable and Tiny (Gated) RNN cells.

These algorithms can train models for classical supervised learning problems with memory requirements that are orders of magnitude lower than other modern ML algorithms. The trained models can be loaded onto edge devices such as IoT devices/sensors, and used to make fast and accurate predictions completely offline.

The tf directory contains code, examples and scripts for all these algorithms in TensorFlow. The cpp directory has training and inference code for Bonsai and ProtoNN algorithms in C++. Please see install/run instruction in the Readme pages within these directories. The applications directory has code/demonstrations of applications of the EdgeML algorithms.

For details, please see our wiki page and our ICML'17 publications on Bonsai and ProtoNN algorithms, NIPS'18 publications on EMI-RNN and FastGRNN.

Core Contributors:

We welcome contributions, comments, and criticism. For questions, please email Harsha.

People who have contributed to this project.

Microsoft Open Source Code of Conduct This project has adopted the

Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

edgeml's People

Contributors

metastableb avatar harsha-simhadri avatar adityakusupati avatar shishirpatil avatar aigen avatar suiyengar avatar t-chgupt avatar suvadeep-iitb avatar lovettchris avatar siddharthdivi avatar kant avatar aron123 avatar msftgits avatar microsoftopensource avatar

Watchers

James Cloos avatar lindyld1314 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.