TinyML Cookbook
Gian Marco Iodice
- 344 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
TinyML Cookbook
Gian Marco Iodice
About This Book
Work through over 50 recipes to develop smart applications on Arduino Nano 33 BLE Sense and Raspberry Pi Pico using the power of machine learning
Key Features
- Train and deploy ML models on Arduino Nano 33 BLE Sense and Raspberry Pi Pico
- Work with different ML frameworks such as TensorFlow Lite for Microcontrollers and Edge Impulse
- Explore cutting-edge technologies such as microTVM and Arm Ethos-U55 microNPU
Book Description
This book explores TinyML, a fast-growing field at the unique intersection of machine learning and embedded systems to make AI ubiquitous with extremely low-powered devices such as microcontrollers.The TinyML Cookbook starts with a practical introduction to this multidisciplinary field to get you up to speed with some of the fundamentals for deploying intelligent applications on Arduino Nano 33 BLE Sense and Raspberry Pi Pico. As you progress, you'll tackle various problems that you may encounter while prototyping microcontrollers, such as controlling the LED state with GPIO and a push-button, supplying power to microcontrollers with batteries, and more. Next, you'll cover recipes relating to temperature, humidity, and the three "V" sensors (Voice, Vision, and Vibration) to gain the necessary skills to implement end-to-end smart applications in different scenarios. Later, you'll learn best practices for building tiny models for memory-constrained microcontrollers. Finally, you'll explore two of the most recent technologies, microTVM and microNPU that will help you step up your TinyML game.By the end of this book, you'll be well-versed with best practices and machine learning frameworks to develop ML apps easily on microcontrollers and have a clear understanding of the key aspects to consider during the development phase.
What you will learn
- Understand the relevant microcontroller programming fundamentals
- Work with real-world sensors such as the microphone, camera, and accelerometer
- Run on-device machine learning with TensorFlow Lite for Microcontrollers
- Implement an app that responds to human voice with Edge Impulse
- Leverage transfer learning to classify indoor rooms with Arduino Nano 33 BLE Sense
- Create a gesture-recognition app with Raspberry Pi Pico
- Design a CIFAR-10 model for memory-constrained microcontrollers
- Run an image classifier on a virtual Arm Ethos-U55 microNPU with microTVM
Who this book is for
This book is for machine learning developers/engineers interested in developing machine learning applications on microcontrollers through practical examples quickly. Basic familiarity with C/C++, the Python programming language, and the command-line interface (CLI) is required. However, no prior knowledge of microcontrollers is necessary.
]]>
Frequently asked questions
Information
Chapter 1: Getting Started with TinyML
- Introducing TinyML
- Summary of deep learning
- Learning the difference between power and energy
- Programming microcontrollers
- Presenting Arduino Nano 33 BLE Sense and Raspberry Pi Pico
- Setting up Arduino Web Editor, TensorFlow, and Edge Impulse
- Running a sketch on Arduino Nano and Raspberry Pi Pico
Technical requirements
- Arduino Nano 33 BLE Sense board
- Raspberry Pi Pico board
- Micro-USB cable
- Laptop/PC with either Ubuntu 18.04 or Windows 10 on x86-64
Introducing TinyML
What is TinyML?
Why ML on microcontrollers?
Why run ML locally?
- Reducing latency: Sending data back and forth to and from the cloud is not instant and could affect applications that must respond reliably within a time frame.
- Reducing power consumption: Sending and receiving data to and from the cloud is not power-efficient even when using low-power communication protocols such as Bluetooth.