Skip to main content

ezmsg-learn

This repository contains a Python package with modules for machine learning (ML)-related processing in the ezmsg framework. As ezmsg is intended primarily for processing unbounded streaming signals, so are the modules in this repo.

If you are only interested in offline analysis without concern for reproducibility in online applications, then you should probably look elsewhere.

Processing units include dimensionality reduction, linear regression, and classification that can be initialized with known weights, or adapted on-the-fly with incoming (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 the latest development version:

pip install "git+https://github.com/ezmsg-org/ezmsg-learn@dev#egg=ezmsg-learn[all]"

Importing a module whose backend is not installed raises an ImportError naming the extra to install.

Dependencies

Base (pip install ezmsg-learn) — ezmsg, ezmsg-baseproc, ezmsg-sigproc, numpy, scipy, array-api-compat.

Extra Adds Covers
(none) — process.ssr, process.flatten, process.seqseqsampler, process.refit_kalman, model.cca, model.refit_kalman
sklearn pandas, river, scikit-learn process.adaptive_linear_regressor, process.linear_regressor, process.sgd, process.slda, process.sklearn, dim_reduce.*
torch torch process.base, process.torch, process.rnn, process.transformer, process.mlp_old, model.mlp, model.rnn, model.transformer
all both of the above everything, including all collection.sample_adapt_regressor backends

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".

Development

We use uv for development.

  1. Install uv if not already installed.
  2. Fork this repository and clone your fork locally.
  3. Open a terminal and cd to the cloned folder.
  4. Run uv sync to create a .venv and install dependencies.
  5. (Optional) Install pre-commit hooks: uv run pre-commit install
  6. After making changes, run the test suite: uv run pytest tests

License

MIT License - see LICENSE for details.

Release files for ezmsg-learn 1.16.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ezmsg-learn 1.16.1
File Size Uploaded
ezmsg_learn-1.16.1.tar.gz 112.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ezmsg-learn 1.16.1
File Interpreter ABI Platform
ezmsg_learn-1.16.1-py3-none-any.whl Python 3 none any Details

Total release size: 190.1 kB

Release files / ezmsg_learn-1.16.1.tar.gz

Download URL ezmsg_learn-1.16.1.tar.gz
Size 112.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1fe5012fff87ee939f5ace0ca8ab3d3153fe0fcdc12e2948d4e333e21c6f0609
BLAKE2b-256 checksum
How to use checksums
12c77519dc61984723cbeda9b92ae675594370191f2b2245bf0cb2e7cc445cff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / ezmsg_learn-1.16.1-py3-none-any.whl

Download URL ezmsg_learn-1.16.1-py3-none-any.whl
Size 78.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
70af2ca2758ab049e9156914dbd1255194289e038d9dd069c4b5ee44c2064bdf
BLAKE2b-256 checksum
How to use checksums
99cd1db1815fa29b26164c7cd0f61b68dcb6718dfe501f55fd9f49979e3d8bdf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

1.16.1 This release

2 release files

1.13.0

2 release files

1.12.0

2 release files

1.11.0

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.1

2 release files

1.5.4

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page