Course Introduction
Description
This course introduces students to applied tiny machine
learning (TinyML) for embedded Internet of Things (IoT)
devices.
Instructor
Cristinel Ababei, cristinel.ababei@marquette.edu
Phone: 414-288-5720
Office: Haggerty Hall, #220
Syllabus
For a more detailed course
description, objectives, and policies see the Syllabus.
Textbook
[1] Pete Warden and Daniel Situnayake, TinyML: Machine
Learning with TensorFlow Lite on Arduino and Ultra-Low-Power
Microcontrollers, O'Reilly Media, 2020.
[2]
Vijay Janapa Reddi at Harvard and open-source collaborators, Machine Learning Systems with TinyML,
Open-source collaborative-effort book, 2023-present.
[3] Gian Marco Iodice and Ronan Naughton, TinyML Cookbook:
Combine artificial intelligence and ultra-low-power embedded
devices to make the world smarter, 2022.
[4] Francois Chollet, Deep Learning with Python, Manning,
Second Edition, 2021.
Hardware Kit
Arduino Tiny Machine Learning Kit: Arduino
Tiny Machine Learning Kit. The kit includes:
[1] Arduino Nano 33 BLE Sense board
[2] OV7675 Camera
[3] Arduino Tiny Machine Learning Shield
[4] USB A to Micro USB Cable
Schedule
Week
|
Topic
|
Code+
|
Assignment
|
Readings
|
Week1
|
Part 1: Foundations of Machine Learning (ML)
About the course and Syllabus (slides w1_1)
Introduction to IoT and TinyML (slides w1_2)
|
Week_1.zip
|
W1_Assignment (PDF)
|
ImageNet Classification (PDF)
Deep Compression (PDF)
|
Week2
|
The Machine Learning Paradigm (slides w2_1)
Building Blocks of Deep Learning (DL) - Neural Network (NN) (slides w2_2)
|
Week_2.zip
|
W2_Assignment (PDF)
|
Artificial neural networks: a tutorial (PDF)
|
Week3
|
Building Blocks of DL - Regression with Dense NN (slides w3_1)
Building Blocks of DL - Classification with Dense NN (slides w3_2)
|
Week_3.zip
|
W3_Assignment (PDF)
|
HyperNOMAD: Hyperparameter Optimization (PDF)
|
Week4
|
Image Classification using CNN (slides w4_1)
Introduction to Edge Impulse – CNN with Cifar-10 (slides w4_2)
|
Week_4.zip
|
W4_Assignment (PDF)
|
Visualizing CNNs (PDF)
|
Week5
|
Datasets and Model Performance Metrics (slides w5_1)
Preventing Overfitting (slides w5_2)
|
Week_5.zip
|
W5_Assignment (PDF)
|
VGG16: Very Deep CNNs (PDF)
|
Week6
|
Part 2: Sensors
TinyML Kit Overview (slides w6_1)
TinyML Kit Setup (slides w6_2)
TinyML Kit Sensor Testing (slides w6_3)
|
Week_6.zip
|
W6_Assignment (PDF)
|
ML Sensors (PDF)
Chapters 1,2,3 from textbook
|
Week7
|
Sensor Testing (slides w7_1)
Sensor Fusion (slides w7_2)
|
Week_7.zip
|
W7_Assignment (PDF)
|
Sensing Data Fusion (PDF)
|
Week8
|
Part 3: Applications and Deployment to Microcontrollers (MCUs)
TF-Lite, TFL-Micro, TFL-Micro Hello-World example (slides w8_1)
|
Week_8.zip
|
W8_Assignment (PDF)
|
TinyML Platforms Benchmarking (PDF)
Chapters 4,5,6 from textbook
|
Week9
|
Hello-World Example - Code Discussion (slides w9_1)
|
Week_9.zip
|
W9_Assignment (PDF)
|
TensorFlow Lite Micro (PDF)
Chapters 4,5,6 from textbook
|
Week10
|
KeyWord Spotting (KWD) Introduction (slides w10_1)
Micro-Speech Example - Code Discussion (slides w10_2)
|
Week_10.zip
|
W10_Assignment (PDF)
|
Speech Commands: A Dataset (PDF)
Chapters 7,8 from textbook
|
Week11
|
Micro-Speech Workflow (slides w11_1)
Micro-Speech Example - Model development & testing (Tutorial w11_2)
|
Week_11.zip
|
No assignment
|
On-Device Training Under 256KB Memory (PDF)
Chapters 7,8 from textbook
|
Week12
|
KeyWord Spotting (KWD) Application Devel in Edge Impulse (EI) (slides w12_1)
KWD - dataset creation and EI project (Tutorial w12_2)
|
Week_12.zip
|
W12_Assignment (PDF)
|
Keyword Spotting in Any Language (PDF)
|
Week13
|
Person-detection Example - Code Discussion (slides w13_1)
Image classification - Reloaded (slides w13_2)
|
Week_13.zip
|
W13_Assignment (PDF)
|
Visual Wake Words Dataset (PDF)
Chapters 9,10 from textbook
|
Week14 |
Part 4: Security in IoT
IoT Security Introduction (slides w14_1)
|
Week_14.zip
|
No assignment
|
Decentralized artificial intelligence (PDF)
|
Week15 |
Part 5: Energy Harvesting Techniques
|
Week_15.zip
|
W15_Assignment (PDF)
|
W15_Additional_Papers.zip
|
Resources
Prof. Marcelo Rovai - TinyML - Machine Learning for Embedding Devices, UNIFEI
Prof. Vijay Janapa Reddi - CS249r: Tiny Machine Learning, Applied Machine
Learning on Embedded IoT Devices, Harvard
TinyMLedu
tinyML Foundation - non-profit professional organization supporting and connecting the TinyML world.
Select and join a tinyML group near you for free - to stay up to date with new tinyML technologies
and upcomming event. Meetup is a social media platform for hosting and organizing in-person and virtual activities, gatherings, and events for people and communities of similar interests, hobbies, and professions.
Jason Brownlee - MachineLearningMastery