neuraltrain.models.labram.NtLabram¶
- pydantic model neuraltrain.models.labram.NtLabram[source][source]¶
Config for the braindecode LaBraM model with pretrained-model support.
Extends
BaseBrainDecodeModelwith LaBraM-specific logic:Channel remapping – an explicit
channel_mappingdict maps dataset channel names to LaBraM channel names. Channels whose names already matchLABRAM_CHANNEL_ORDER(case-insensitively) need no entry.Dynamic channel resolution – the model is wrapped in
_LabramChannelWrapperso that valid channels are detected fromchannel_positionsat each forward call, then remapped and passed to the inner braindecode model viach_names.
- Parameters:
channel_mapping (dict or None) – Explicit mapping from dataset channel names to LaBraM channel names. Useful for EEG systems with known correspondences (e.g. Geodesic E-number to 10-10).
- Fields:
- required_fields: ClassVar[list[Literal['ch_names', 'n_times', 'sfreq']]] = ['ch_names', 'n_times'][source]¶
Which data-derived build inputs this braindecode model requires forwarded from the context. Members:
"ch_names"– forwardchs_infofrom the dataset’s channel names (e.g. LaBraM, REVE);"n_times"– forwardn_timeseven on the pretrained path (non-pretrained builds always receive it);"sfreq"– forward the sampling rate (frequency-> braindecodesfreq, e.g. models with a fixed spectral front end).
Empty by default: most models take
sfreqvia configkwargsand need neither channel names nor a pretrained-pathn_times.
- build(n_spatial_locations: int, n_temporal_samples: int, n_outputs: int | None = None, chs_info: list[dict[str, Any]] | None = None, frequency: float | None = None) Module[source][source]¶
Build the braindecode model from context-named shape parameters.
Parameters are named/typed like
BrainModelBuildContextfields/properties, so the basebuild_from_contextinjects them (chs_info/frequencyfrom the matching context properties/fields). Covers every auto-registered braindecode model (EEGNet, Deep4Net, ShallowFBCSPNet, BIOT, …); custom configs (LaBraM, REVE, LUNA, BENDR) override this and reuse_bd_shape_kwargs()for the name mapping.