HOME COURSE OVERVIEW WORKFLOW & GRADING SCHEDULE RESOURCES STAFF BLOG

ESE3600: Tiny Machine Learning.

boy

Course Overview


Embedded Machine Learning is a cutting-edge field that brings the transformative power of machine learning (ML) to the performance-constrained and power-constrained domain of embedded systems to develop useful and exciting Internet of Things solutions. This is an introductory course at the intersection of Machine Learning (ML) and Embedded Internet of Things (IoT) Devices which covers machine learning applications and algorithms using embedded hardware, sensors, actuators and software. Embedding machine learning in a device at the extreme end point - right at the data source - is fundamentally different from general data-center style machine learning. Embedded ML is all about real-time processing of time-series data that comes directly from sensors. By the end of this course, students will collect and preprocess data to build a dataset, design a model, train a model, evaluate and optimize the pipeline, convert the model to run on hardware, deploy the model on a microcontroller, make inference and roll out applications. This will enable future applications development across medical devices, home appliances, industrial automation, wild-life conservation, smart agriculture and many more. Prerequisites: Basic knowledge of programming (CIS110 or equivalent) and basic knowledge of Python and basic knowledge of electronics and circuits. We provide the background, tools and assignments for machine learning and embedded systems using TensorFlow, Google Colab, and ARM Cortex32 hardware platforms.

Workflow & Grading

boy

boy

Schedule

Resources

ESE3600 Syllabus

Avatar

Arduino Wesbite




Avatar

Tensorflow LiteWesbite



Pete Warden's Magic Wand Capture tool

Pete Warden's Open Speech Recording plugin

Some example project videos


Arnav Ghatiwala - ESE3600 F22

TinyML - KWS action on robot TinyML - Trajectory detection on robot

Dhruv Agarwal - ESE3600 F22

Pedestrian light detection TinyML app

Josh Ludan - ESE3600 F22

TinyML dungeon and dragons dice reader

Staff

Instructor

Avatar

Professor Rahul Mangharam [rahulm@seas.upenn.edu]




Teaching Assistants

Avatar

Manasa Sathyan [msathyan@seas.upenn.edu]




Avatar

Tejas Agarwal [tejasag@seas.upenn.edu]


Blog


  • Github repository is set to Public - Click on icon below.
  • Collect your Hardware kits post Spring Break 2023 or drop by Levine 279 (XLAB)