Skip to content

Releases: ljchang/multimodalsrm

MultimodalSRM 0.2.0

Choose a tag to compare

@ljchang ljchang released this 22 Sep 18:19
d066357

MultimodalSRM 0.2.0 standardizes skin-conductance modeling on BatemanSCR, adds automatic grouping to state-space filtering and smoothing, and adds an opt-in R-MSRM warm start for GP MAP.

Breaking change

  • BachSCR is removed (#32). It is no longer importable or accepted by R or GP fitting. GP archives containing Bach records fail before reconstruction with migration guidance, and no fitted parameters or archives are converted automatically. Reproduce Bach analyses in a 0.1.0 environment, or configure BatemanSCR and refit from the original observations. See migration guidance.

Added

  • BatemanSCR, a shared skin-conductance response for R and GP workflows with positive rise/decay time constants and lag (#17). See the SCR guide.
  • Grouped state-space filtering and smoothing: observations sharing an exact modality and native timestamp are updated as one node, for fixed (#31) and learned (#34) responses under strictly positive noise priors. Grouping is automatic inside linear_algebra="state_space", with no new argument and no binning of timestamps.
  • SearchConfig(r_init=True), an opt-in warm start that seeds the first GP MAP restart from a bounded R-MSRM fit (#18). It is off by default: its measured benefit is scale-dependent and did not transfer to a real recording.
  • A bayesian-cuda extra, and one-time warnings for an unused visible NVIDIA GPU and for an oversubscribed CPU factorization thread pool.

Changed

  • Posterior mixing diagnostics are computed in batched NumPy, reproducing ArviZ's definitions to rounding while cutting diagnostics time sharply for large posteriors. ArviZ, xarray and pandas are no longer part of the bayesian extra.

Installation

Python 3.12 or later:

python -m pip install "multimodalsrm==0.2.0"
python -m pip install "multimodalsrm[bayesian]==0.2.0"

Enable JAX_ENABLE_X64=true before Bayesian fitting. The examples live in the source repository at tag v0.2.0. See the changelog for full details.

Scope

This software release does not establish general convergence, uncertainty calibration, physiological timing, or empirical recovery. Synthetic speedups should not be read as general runtime guarantees.

Published on PyPI. The release workflow passed the complete Linux/macOS test matrix and all wheel/sdist installation checks before upload. Both published distribution hashes match the tested artifacts. A fresh PyPI installation of multimodalsrm[bayesian]==0.2.0 passed dependency consistency checks, the R fitting/prediction example, GP MAP prediction and archive replay, and the Bateman SCR example under dense, grouped and state-space GP MAP with archive replay.

MultimodalSRM 0.1.0

Choose a tag to compare

@ljchang ljchang released this 22 Sep 00:14
ce49d3e

The first package release of MultimodalSRM, providing shared response models for observations across participants, modalities, and native sampling times.

Included

  • R-MSRM (MultimodalSRM): regularized fitting, latent inference, held-out prediction, and participant calibration.
  • GP-MSRM (BayesianMultimodalSRM): MAP estimation and supported Bayesian posterior workflows, with optional JAX/NumPyro dependencies.
  • Explicit response filters, native timestamps, masks, missing streams, and target-excluded prediction.
  • Fitted GP archive persistence, focused synthetic regression suites, and runnable R/GP MAP examples.
  • Documentation, MIT licensing, and CI-gated PyPI publishing.

Installation

Python 3.12 or later:

python -m pip install "multimodalsrm==0.1.0"
python -m pip install "multimodalsrm[bayesian]==0.1.0"

Enable JAX_ENABLE_X64=true before Bayesian fitting. The examples live in the source repository at tag v0.1.0.

Scope

See the capability matrix for supported response families and inference backends. Learned FIR responses remain deferred. This software release does not establish general convergence, uncertainty calibration, physiological timing, or empirical recovery. Preserve original research environments for historical R pickle/joblib models and source-bound warmup checkpoints; see migration guidance.

Published on PyPI. The release workflow passed the complete Linux/macOS test matrix and all wheel/sdist installation checks before upload. Both published distribution hashes match the tested artifacts. Fresh PyPI installations passed the R fitting/prediction/calibration example and GP MAP prediction/archive replay, with dependency consistency checked.