.. _external_module_emlearn: emlearn ####### Introduction ************ `emlearn`_ 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 :ref:`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``: .. code-block:: yaml 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`_, and in particular the `Getting Started on Zephyr RTOS`_ section. References ********** .. target-notes:: .. _emlearn: https://github.com/emlearn/emlearn .. _emlearn documentation: https://emlearn.readthedocs.io/en/latest/ .. _Getting Started on Zephyr RTOS: https://emlearn.readthedocs.io/en/latest/getting_started_zephyr.html