emlearn - Machine Learning for Tiny Embedded Systems
Modern Machine Learning makes it possible to automatically extract valuable information from sensor data. While Machine Learning is often associated with costly, compute-intensive systems, it is becoming feasible to deploy ML systems to very small embedded devices and sensors. These devices typically use low-power, microcontrollers that cost as little as 1 USD. This niche is often referred to as "TinyML", and is enabling a range of new applications in scientific applications, industry, and consumer electronics.
emlearn is an open-source Python library that allows converting scikit-learn and Keras models to efficient C code. This makes it easy to deploy to any microcontroller with a C99 compiler, while keeping Python-based workflow that is familiar to Machine Learning Engineers. The library has been used in a wide range of applications, from the detection of vehicles in acoustic sensor nodes, to hand gesture recognition based on sEMG data, to real-time malware detection in Android devices.
In this presentation we will give an introduction to the emlearn project. We will cover the models that are supported, the key features and tools that are provided, and demonstrate how this can be used to solve Machine Learning tasks: classification, regression and anomaly detection - with relevant examples to embedded systems.