GithubHelp home page GithubHelp logo

varchanaiyer / study-group Goto Github PK

View Code? Open in Web Editor NEW

This project forked from scaledown-team/study-group

0.0 1.0 0.0 26 KB

Syllabus, schedule, resources etc. for TinyML study group

License: GNU General Public License v3.0

study-group's Introduction

TinyML Study Group

Syllabus

  • Day 1: Introduction to TinyML (13th Feb, 2021. 9am SGT)

    • What is TinyML?
    • Why TinyML is important?
    • TinyML Hardware
      • Microcontrollers
      • Accelerators: Neural Compute Stick, EdgeTPU
      • Mobile
    • TinyML Algorithms
      • Quantization, Knowledge Distillation, Pruning, Early Exits
    • TinyML Software
      • TFLite
      • ONNX
      • OpenVINO
    • Why learn TinyML?
      • Job prospects, research, projects, community
    • General information about this study group
    • Homework: Find an algorithm/hardware/framework not mentioned today
  • Day 2: Basics of Running Neural Networks at the Edge (27th Feb, 2021. 9am SGT)

    • Edge Performance Metrics
      • Latency
      • Throughput
      • Size
      • FLOPs
      • Other Metrics
    • Measuring performance metrics
    • Which metrics to optimize your network for?
    • Homework: Read a paper that compares performance of different networks, hardwares, frameworks
  • Day 3: Quantization (13th March, 2021. 9am SGT)

    • What is Quantization?
    • Different Quantization Specs
      • Weight Quantization
      • Weight and Activation Quantization
    • How does Quantization improve performance at the edge?
    • Quantization using TFLite
    • Running a Quantized network on a hardware
    • Measuring Quantization Performance
      • How much does quantization improve performance?
    • Homework: Quantize a network using OpenVINO and measure its performance

-Day 4: Edge Hardware (27th March, 2021. 9am SGT)

  • Introduction to the Intel Neural Compute Stick 2 (NCS)

  • NCS Internals: How does it work?

  • How to use OpenVINO to interface with the NCS

  • Using Multiple NCS devices

  • Homework: Compare the Latency and Throughput of NCS, CPU and GPU

  • Day 5: Pruning (10th April, 2021. 9am SGT)

    • What is Pruning?
    • Different Pruning Methods
    • How does Pruning improve performance at the edge?
    • Pruning using TFLite
    • Running a pruned network on a hardware
    • Measuring Pruning Performance
      • How much does Pruning improve performance?
    • Homework: Prune a network and measure its performance
  • Day 6: Research Day - Early Exits in Neural Networks (24th April, 2021. 9am SGT)

    • Read and discuss a paper on Early Exits
  • Day 7: Edge Hardware: EdgeTPU and EdgeTPU Accelerator (8th May, 2021. 9am SGT)

    • Introduction to the EdgeTPU
    • EdgeTPU Internals: How does it work?
    • How to use TFLite to interface with the NCS
    • Homework: Compare the Latency and Throughput of EdgeTPU and the EdgeTPU accelerator
  • Day 8: Project 1 - Train and Deploy a model at the edge (22nd May, 2021. 9am SGT)

  • Day 9: Security and Privacy in Edge Computing

    • Security of Hardware
    • Security of Data
    • Security of Networks running on Edge Deployed Hardware
      • Cold Boot Attacks
      • Side Channel Attacks
  • Day 10: Edge Hardware: TinyML on an Arduino

    • Introduction to the Arduino
    • Arduino Internals: How does it work?
    • TinyML on Arduino: link

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.