Course Outline
Introduction
- Microcontroller vs Microprocessor
- Microcontrollers designed for machine learning tasks
Overview of TensorFlow Lite Features
- On-device machine learning inference
- Solving network latency
- Solving power constraints
- Preserving privacy
Constraints of a Microcontroller
- Energy consumption and size
- Processing power, memory, and storage
- Limited operations
Getting Started
- Preparing the development environment
- Running a simple Hello World on the Microcontroller
Creating an Audio Detection System
- Obtaining a TensorFlow Model
- Converting the Model to a TensorFlow Lite FlatBuffer
Serializing the Code
- Converting the FlatBuffer to a C byte array
Working with Microcontroller'ss C++ Libraries
- Coding the microcontroller
- Collecting data
- Running inference on the controller
Verifying the Results
- Running a unit test to see the end-to-end workflow
Creating an Image Detection System
- Classifying physical objects from image data
- Creating TensorFlow model from scratch
Deploying an AI-enabled Device
- Running inference on a microcontroller in the field
Troubleshooting
Summary and Conclusion
Requirements
- C or C++ programming experience
- A basic understanding of Python
- A general understanding of embedded systems
Audience
- Developers
- Programmers
- Data scientists with an interest in embedded systems development
Testimonials
I already had a little knowledge of Arduino, so it was good to hear more about the background of arduino, what it can be used for, and the resources available for help.
- University of Glasgow
The aquisition of useful knowlwdge and clarification of some things I was not sure of peviously.
Kenneth Mahoney - University of Glasgow
Rod seemed very knowledgeable and enthusiastic about the course material.
Kyle Stirling - University of Glasgow
Rod's style was entertaining.
Tom O'Hara - University of Glasgow
2 days of no interptions, which enabled me to concentrate on the task in hand.
- University of Glasgow
I found the balance of "white board" teaching versus practical "hands-on" learning was just right for an Arduino introductory course, and the pace was also appropriate.
Neil Owen - University of Glasgow
I enjoyed the training was delivered by someone with experience in the field.
Nicholas Scott - University of Glasgow
relaxed and informal environment plenty of help during worked examples