ShallowFBCSPNet / README.md
bruAristimunha's picture
Replace with clean markdown card
a2845a1 verified
metadata
license: bsd-3-clause
library_name: braindecode
pipeline_tag: feature-extraction
tags:
  - eeg
  - biosignal
  - pytorch
  - neuroscience
  - braindecode
  - convolutional

ShallowFBCSPNet

Shallow ConvNet model from Schirrmeister et al (2017) [Schirrmeister2017].

Architecture-only repository. Documents the braindecode.models.ShallowFBCSPNet class. No pretrained weights are distributed here. Instantiate the model and train it on your own data.

Quick start

pip install braindecode
from braindecode.models import ShallowFBCSPNet

model = ShallowFBCSPNet(
    n_chans=22,
    sfreq=250,
    input_window_seconds=4.0,
    n_outputs=4,
)

The signal-shape arguments above are illustrative defaults β€” adjust to match your recording.

Documentation

Architecture

ShallowFBCSPNet architecture

Parameters

Parameter Type Description
n_filters_time: int β€” Number of temporal filters.
filter_time_length: int β€” Length of the temporal filter.
n_filters_spat: int β€” Number of spatial filters.
pool_time_length: int β€” Length of temporal pooling filter.
pool_time_stride: int β€” Length of stride between temporal pooling filters.
`final_conv_length: int str` β€”
`conv_nonlin: type[nn.Module] Callable` β€”
pool_mode: str β€” Method to use on pooling layers. "max" or "mean".
activation_pool_nonlin: type[nn.Module] β€” Non-linear module class to be used after pooling layers.
split_first_layer: bool β€” Split first layer into temporal and spatial layers (True) or just use temporal (False). There would be no non-linearity between the split layers.
batch_norm: bool β€” Whether to use batch normalisation.
batch_norm_alpha: float β€” Momentum for BatchNorm2d.
drop_prob: float β€” Dropout probability.

References

  1. Schirrmeister, R. T., Springenberg, J. T., Fiederer, L. D. J., Glasstetter, M., Eggensperger, K., Tangermann, M., Hutter, F. & Ball, T. (2017). Deep learning with convolutional neural networks for EEG decoding and visualization. Human Brain Mapping , Aug. 2017. Online: http://dx.doi.org/10.1002/hbm.23730

Citation

Cite the original architecture paper (see References above) and braindecode:

@article{aristimunha2025braindecode,
  title   = {Braindecode: a deep learning library for raw electrophysiological data},
  author  = {Aristimunha, Bruno and others},
  journal = {Zenodo},
  year    = {2025},
  doi     = {10.5281/zenodo.17699192},
}

License

BSD-3-Clause for the model code (matching braindecode). Pretraining-derived weights, if you fine-tune from a checkpoint, inherit the licence of that checkpoint and its training corpus.