ezmsg.learn#
Machine learning modules for the ezmsg framework.
Note
This package is experimental and under active development.
Overview#
ezmsg-learn provides machine learning processing units designed for streaming signals in the ezmsg framework.
Modules include:
Linear models - Linear regression, SLDA, CCA, SGD
Non-linear models - Multi-layer perceptrons (MLP)
Dimensionality reduction - Incremental PCA and other decomposition methods
Utilities - Helper functions for ML workflows
Most modules support both:
Offline initialization with known weights
Online adaptation with streaming labeled data
Installation#
The base install is NumPy-only; the machine-learning backends are optional extras, so a deployment that uses only the lightweight processors does not pay for a PyTorch or scikit-learn install:
pip install ezmsg-learn # numpy-only processors
pip install "ezmsg-learn[sklearn]" # + pandas, river, scikit-learn
pip install "ezmsg-learn[torch]" # + torch
pip install "ezmsg-learn[all]" # everything
Or install directly from GitHub:
pip install "git+https://github.com/ezmsg-org/ezmsg-learn#egg=ezmsg-learn[all]"
Importing a module whose backend is not installed raises an ImportError
naming the extra to install.
Dependencies#
The base install requires:
ezmsg- Core ezmsg frameworkezmsg-baseproc- Processor base classesezmsg-sigproc- Signal processing extensionsnumpy- Numerical computingscipy- Scientific computingarray-api-compat- Array API portability layer
Optional extras#
Extra |
Adds |
Covers |
|---|---|---|
(none) |
— |
|
|
|
|
|
|
|
|
both of the above |
everything, including all |
ezmsg.learn.collection.sample_adapt_regressor imports its backend
lazily, so it needs only the extra for the model_type in use — and none at
all for model_type="kalman".
Quick Start#
For general ezmsg tutorials and guides, visit ezmsg.org.