CEC Semester Fifteen 2019
Machine Learning for Embedded Software Engineers
Jacob Beningo -
Embedded Software Consultant, Firmware Expert, Smallsat Flight Software
CEC Archives | CEC Semester Fifteen 2019 | Machine Learning for Embedded Software Engineers
April 22,
2019
Introduction to Machine Learning
To a traditional embedded software developer, machine learning is something that exists far from our resource-constrained devices, but times are quickly changing. In this session, we will examine how machine learning fits into an embedded system and explore how it can be used. We will examine what a neural network is, what the different network types are, and a few basic neuron types and how they can result in an intelligent system.
Course Resources
Special Educational Materials
STMicro SMCOverview of STM32 32-bit MCU FamilyBuild a Machine Learning Application with a Raspberry Pi - Article
Get Started with Machine Learning Using Readily Available Hardware and Software - Article
Add High-Performance Speech Keyword Spotting to IoT Designs: Part 2 - Using MCUs - Article
April 23,
2019
Machine Learning Architectures for Embedded Systems
Machine learning networks can require quite a few resources to train and execute. So how can this be done in an embedded environment? In this session, we will explore several system architectures that developers can use to achieve machine learning at the edge. We will also discuss why machine learning is being pushed from the cloud to the edge, and will examine software resources that are available on the Arm Cortex-M, such as CMSIS-NN.
Course Resources
Special Educational Materials
STMicro SMCOverview of STM32 32-bit MCU FamilyBuild a Machine Learning Application with a Raspberry Pi - Article
Get Started with Machine Learning Using Readily Available Hardware and Software - Article
Add High-Performance Speech Keyword Spotting to IoT Designs: Part 2 - Using MCUs - Article
April 24,
2019
Machine Learning Applications: Vision and Speech
While there is a lot of hype around machine learning and AI, there are two main use cases right now that will find their way into embedded systems. In this session, attendees will learn about the different applications in the embedded space where machine learning can be applied, including vision and speech. We will examine the tools and techniques available to developers in order to apply these use cases.
Course Resources
Special Educational Materials
STMicro SMCOverview of STM32 32-bit MCU FamilyBuild a Machine Learning Application with a Raspberry Pi - Article
Get Started with Machine Learning Using Readily Available Hardware and Software - Article
Add High-Performance Speech Keyword Spotting to IoT Designs: Part 2 - Using MCUs - Article
April 25,
2019
Machine Vision with OpenMV
In this session, we will dig deep into machine learning with the OpenMV camera module which is based on the Arm Cortex-M7. We will examine how to set up the module and use its APIs to create a basic application that can perform simple object recognition. Attendees will walk away with an understanding of real-world machine learning in a resource-constrained environment and what it costs to use such features.
Course Resources
Special Educational Materials
STMicro SMCOverview of STM32 32-bit MCU FamilyBuild a Machine Learning Application with a Raspberry Pi - Article
Get Started with Machine Learning Using Readily Available Hardware and Software - Article
Add High-Performance Speech Keyword Spotting to IoT Designs: Part 2 - Using MCUs - Article
April 26,
2019
Near Real-time Machine Learning Using Coral
Real-time machine learning network execution is not quite yet a reality in the embedded space, but it is coming close with the Google Coral module. In this session, we will explore the Google Coral module and see how it stacks up against more embedded solutions and understand how it fits in the embedded developer's toolbox. We will then review what we have learned this week and discuss additional techniques and tools that attendees can research that will help them become more familiar with machine learning.
Course Resources
Special Educational Materials
STMicro SMCOverview of STM32 32-bit MCU FamilyBuild a Machine Learning Application with a Raspberry Pi - Article
Get Started with Machine Learning Using Readily Available Hardware and Software - Article
Add High-Performance Speech Keyword Spotting to IoT Designs: Part 2 - Using MCUs - Article
Instructor
Jacob Beningo
Embedded Software Consultant, Firmware Expert, Smallsat Flight Software
Jacob Beningo is an embedded software consultant who currently works with clients in more than a dozen countries to dramatically transform their businesses by improving product quality, cost and time to market. He has published more than 300 articles on embedded software development techniques, has published several books, is a sought-after speaker and technical trainer and holds three degrees which include a Masters of Engineering from the University of Michigan.