Overview of emlearn-micropython
masteremlearn-micropython is a TinyML library designed for Machine Learning and Digital Signal Processing (DSP) on MicroPython. It allows developers to run efficient models on microcontrollers without writing C code. It is built on top of the emlearn C99 library and is optimized for low-complexity, low-power classification tasks.
Key Capabilities:
- Classification: RandomForest, DecisionTree, K-Nearest Neighbors (KNN), and Convolutional Neural Networks (CNN) via TinyMaix.
- Regression: Linear Regression and Partial Least Squares Regression (PLSR).
- DSP & Preprocessing: Fast Fourier Transform (FFT), Infinite Impulse Response (IIR) filters, and scaling/transformations via
emlearn_arrayutils. - Clustering: K-means.
- On-device Learning: Supported for KNN, Linear Regression, and Extremely Randomized Trees (extratrees).
Performance Characteristics:
- Inference times as low as 100 microseconds.
- RAM usage < 2 kB.
- FLASH usage < 2 kB.
- Operates on standard
array.arraydata structures.