目錄
Preface
1. Introduction
Embedded Devices
Changing Landscape
2. Getting Started
Who Is This Book Aimed At?
What Hardware Do You Need?
What Software Do You Need?
What Do We Hope You'll Learn?
3. Getting Up to Speed on Machine Learning
What Machine Learning Actually Is
The Deep Learning Workflow
Decide on a Goal
Collect a Dataset
Design a Model Architecture
Train the Model
Convert the Model
Run Inference
Evaluate and Troubleshoot
Wrapping Up
4. The "Hello World" of TinyML: Building and Training a Model
What We're Building
Our Machine Learning Toolchain
Python and Jupyter Notebooks
Google Colaboratory
TensorFlow and Keras
Building Our Model
Importing Dependencies
Generating Data
Splitting the Data
Defining a Basic Model
Training Our Model
Training Metrics
Graphing the History
Improving Our Model
Testing
Converting the Model for TensorFlow Lite
Converting to a C File
Wrapping Up
5. The "Hello World" of TinyMt: Builfling an Application
Walking Through the Tests
Including Dependencies
Setting Up the Test
Getting Ready to Log Data
Mapping Our Model
Creating an AllOpsResolver
Defining a Tensor Arena
Creating an Interpreter
Inspecting the Input Tensor
Running Inference on an Input
Reading the Output
Running the Tests
Project File Structure
Walking Through the Source
Starting with main_functions.cc
Handling Output with output_handler.cc
Wrapping Up main_functions.cc
Understanding main.cc
Running Our Application
Wrapping Up
6. The "Hello World" of TinyML: Deploying to Microcontrollers,
What Exactly Is a Microcontroller?
Arduino
Handling Output on Arduino
……
7. Wake-Word Detection: Training a Model
9. Person Detection: Building an Application
10. Person Detection: Training a Model
11. Magic Wand: Building an Application
12. Magic Wand: Training a Model
13. TensorFlow Lite for Microcontrollers
14. Designing Your Own TinyML Applications
15. Optimizing Latency
16. Optimizing Energy Usage
17. Optimizing Model and Binary Size
18. Debugging
19. Porting Models from TensorFlow to TensorFlow Lite
20. Privacy, Security, and Deployment
21. Learning More
A. Using and Generating an Arduino Library Zip
B. Capturing Audio on Arduino
Index