Skip to main content

Batch Inference Configuration

Batch inference processes complete trials offline. Use it for calibration, validation, model comparison, research studies, and quality review. Use Streaming Inference Configuration when predictions must update during a live trial.
Python product path: calibrate Personalizer on labeled trials (embeddings or classical features), then evaluate BrainState offline. Standalone heads (NimbusLDA, …) remain valid for research CV.

When To Use Batch

  • Calibrate a Personalizer / head on labeled trials.
  • Evaluate held-out sessions or subjects.
  • Compare model families and hyperparameters.
  • Run preprocessing diagnostics before deployment.
  • Analyze confidence, entropy, accuracy, and ITR after a session.

Data Contracts

All batch workflows should use embeddings or preprocessed features, not raw EEG.

Basic Pattern

Evaluation Checklist

  • Split by session or subject when testing generalization.
  • Estimate normalization parameters on training folds only.
  • Report accuracy with confidence and rejection rate.
  • Inspect posterior entropy for uncertain trials.
  • Compare against a simple NimbusLDA baseline before tuning.

Batch Diagnostics

Run diagnostics when batch accuracy is unexpectedly low:
Common issues include wrong feature shape, raw EEG passed as features, inconsistent label encoding, missing normalization, and mismatched model metadata.

Batch vs Streaming

Most production BCI systems use both: batch for calibration and validation, streaming for live operation.

Next Read

Feature Normalization

Keep train/test/deployment scales consistent.

Streaming Inference

Configure live chunk processing.

Basic Examples

Compact batch and streaming recipes.

Model Specification

Choose a model before evaluation.