neuraltrain.models.reve.NtReve

pydantic model neuraltrain.models.reve.NtReve[source][source]

Config for the braindecode REVE model with channel-mapping support.

Extends BaseBrainDecodeModel with REVE-specific logic:

  1. Channel remapping – an explicit channel_mapping dict maps dataset channel names to REVE position-bank names. Channels whose names already appear in the bank (exact match) need no entry.

  2. Pretrained loading – bypasses the base-class restriction on n_times for pretrained models, since REVE needs it to size its final_layer.

  3. Encoder-only output – when n_outputs is None (downstream wrapper handles the head), the model is wrapped to call forward(return_output=True) and return the final transformer layer output, bypassing REVE’s final_layer.

Parameters:

channel_mapping (dict or None) – Explicit mapping from dataset channel names to REVE position-bank names. Useful for EEG systems whose naming convention is absent from the bank (e.g. Neuromag "EEG 005" or easycap-M10 numeric "2").

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" – forward chs_info from the dataset’s channel names (e.g. LaBraM, REVE);

  • "n_times" – forward n_times even on the pretrained path (non-pretrained builds always receive it);

  • "sfreq" – forward the sampling rate (frequency -> braindecode sfreq, e.g. models with a fixed spectral front end).

Empty by default: most models take sfreq via config kwargs and need neither channel names nor a pretrained-path n_times.

field channel_mapping: dict[str, str] | None = None[source]
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 BrainModelBuildContext fields/properties, so the base build_from_context injects them (chs_info / frequency from 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.