Book

TinyML: Machine Learning on Arduino, ESP32, and other Pervasive Devices

This foundational guide introduces the principles and practicalities of deploying machine learning models on resource-constrained embedded devices for real-world applications.

by Pete Warden and Daniel Situnayake

Summary

The book "TinyML" by Pete Warden and Daniel Situnayake explores the field where deep learning networks are miniaturized to run on microcontrollers and other pervasive devices. It highlights that deep learning models, such as a 14-kilobyte model for word detection, are now small enough to operate in resource-constrained environments. This convergence of deep learning and embedded systems enables "astounding things" with tiny devices, making powerful AI capabilities accessible beyond traditional computing platforms. The book serves as a practical guide for developing these miniature deep learning solutions.

Designed for software and hardware developers, including those without prior machine learning or microcontroller experience, this guide offers step-by-step instructions for creating TinyML projects. Readers will learn to build applications such as a speech recognizer, a camera that detects people, and a gesture-responding magic wand. It covers essentials of ML, training models for audio, image, and accelerometer data, and utilizing TensorFlow Lite for Microcontrollers. The book also addresses debugging, privacy safeguards, and optimizing for latency, energy usage, and model and binary size while working with Arduino and ultra-low-power microcontrollers.

Key concepts

  • TinyML** The field where deep learning and embedded systems combine to make advanced capabilities possible with tiny devices.
  • Deep Learning Miniaturization** The process of making deep learning networks small enough to run on microcontrollers, such as a 14-kilobyte word detection model.
  • Embedded Systems** Pervasive, resource-constrained devices like Arduino and ultra-low-power microcontrollers that can host deep learning models.
  • TensorFlow Lite for Microcontrollers** Google’s specific toolkit designed for implementing TinyML applications on microcontrollers.
  • Model Training** The process of teaching models to understand and interpret various forms of data, including audio, image, and accelerometer input.
  • Resource Optimization** Techniques for optimizing latency, energy usage, and model and binary size to ensure efficient operation on tiny devices.

From the book

Title: TinyML by Pete Warden, Daniel SitunayakeDescription: Deep learning networks are getting smaller. Much smaller. The Google Assistant team can detect words with a model just 14 kilobytes in size—small enough to run on a microcontroller. With this practical book you’ll enter the field of TinyML, where deep learning and embedded systems combine to make astounding things possible with tiny devices. Pete Warden and Daniel Situnayake explain how you can train models small enough to fit into any environment. Ideal for software and hardware developers who want to build embedded systems using machine learning, this guide walks you through creating a series of TinyML projects, step-by-step. No machine learning or microcontroller experience is necessary. Build a speech recognizer, a camera…
Snippet: With this practical book you’ll enter the field of TinyML, where deep learning and embedded systems combine to make astounding things possible with tiny devices.

Popular questions readers ask