emlearn

Introduction

emlearn [1] is an open source library for deploying machine learning models on micro-controllers and embedded systems. It provides portable C code generation from models trained with scikit-learn or Keras.

A Python library allows converting complex machine learning models to a minimal C code representation, which enables running ML inference on resource-constrained embedded devices.

emlearn is licensed under the MIT license.

Usage with Zephyr

The emlearn repository is a Zephyr module which provides TinyML capabilities to Zephyr applications, allowing machine learning models to be run directly on Zephyr-powered devices.

To pull in emlearn as a Zephyr module, either add it as a West project in the west.yaml file or pull it in by adding a submanifest (e.g. zephyr/submanifests/emlearn.yaml) file with the following content and run west update:

manifest:
  projects:
    - name: emlearn
      url: https://github.com/emlearn/emlearn.git
      revision: master
      path: modules/lib/emlearn # adjust the path as needed

For more detailed instructions and API documentation, refer to the emlearn documentation [2], and in particular the Getting Started on Zephyr RTOS [3] section.

References