Giter Site home page Giter Site logo

cs-433-project-2-outliers's Introduction

cs-433-project-2-outliers

Resource-Efficient Machine Learning Algorithm Design for On-Implant Neurological Symptom Detection

In this project, we focus on developing an efficient Machine Learning model to process neural data in real time, with low power consumption, small on-chip area and fast inference.

Installation

make install  # install the Python requirements 

Download trajectories from ECoG, and the pre-trained weights. The folder structure should look like:

$drive
|-- data
`-- checkpoints
|   
`-- figures

The drive directory should be in the same directory where you run the code. The figures will be generated by run.py and be stored in drive/figures.

Usage

In the baseline model and Fixed Point Quantization you can use pre-trained weights by adding --pre-trained=True to the command.

Baseline Model

For using the baseline model with no compression run:

python run.py

Fixed Point Quantization

For applying Fixed Point Quantization run:

python run.py --fixed_pt_quantization=True

Pruning

For applying Pruning run:

python run.py --pruning=True

Trained Quantization and Weight Sharing:

For applying Trained Quantization and Weight Sharing run:

python run.py --trained_quantization=True

Note that for Pruning and Trained Quantization and Weight Sharing you need the pre-trained baseline model. Moreover, you cannot use Fixed Point Quantization, Prunning, and Trained Qunatization at the same time.

You can adjust the number of epochs for training in run.py The training can be interupted by ctrl+c and the weights will be saved in checkpoints directory.

In fpoint_quantization.ipynb you can reproduce the results published in the report for the Binarization and Fixed-Point Quantization method.

In pruning.ipynb you can reproduce the results published in the report for the Pruning method.

In trained_quantization.ipynb you can reproduce the results published in the report for the Trained Quantization and Weight Sharing method. Note that as kmeans clustering is not deterministic you might get slightly different esults that the ones in the report.

Authors

Chabenat Eugénie : [email protected]

Djambazovska Sara : [email protected]

Mamooler Sepideh : [email protected]

cs-433-project-2-outliers's People

Contributors

smamooler avatar eugeniechabenat avatar saradj avatar

Watchers

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