--- license: bsd-3-clause library_name: braindecode pipeline_tag: feature-extraction tags: - eeg - biosignal - pytorch - neuroscience - braindecode - convolutional - sleep-staging --- # SleepStagerBlanco2020 Sleep staging architecture from Blanco et al (2020) from [Blanco2020] > **Architecture-only repository.** Documents the > `braindecode.models.SleepStagerBlanco2020` class. **No pretrained weights are > distributed here.** Instantiate the model and train it on your own > data. ## Quick start ```bash pip install braindecode ``` ```python from braindecode.models import SleepStagerBlanco2020 model = SleepStagerBlanco2020( n_chans=2, sfreq=100, input_window_seconds=30.0, n_outputs=5, ) ``` The signal-shape arguments above are illustrative defaults — adjust to match your recording. ## Documentation - Full API reference: - Interactive browser (live instantiation, parameter counts): - Source on GitHub: ## Architecture ![SleepStagerBlanco2020 architecture](https://media.springernature.com/full/springer-static/image/art%3A10.1007%2Fs00500-019-04174-1/MediaObjects/500_2019_4174_Fig2_HTML.png) ## Parameters | Parameter | Type | Description | |---|---|---| | `n_conv_chans` | int | Number of convolutional channels. Set to 20 in [Blanco2020]. | | `n_groups` | int | Number of groups for the convolution. Set to 2 in [Blanco2020] for 2 Channel EEG. controls the connections between inputs and outputs. n_channels and n_conv_chans must be divisible by n_groups. | | `drop_prob` | float | Dropout rate before the output dense layer. | | `apply_batch_norm` | bool | If True, apply batch normalization after both temporal convolutional layers. | | `return_feats` | bool | If True, return the features, i.e. the output of the feature extractor (before the final linear layer). If False, pass the features through the final linear layer. | | `n_channels` | int | Alias for `n_chans`. | | `n_classes` | int | Alias for `n_outputs`. | | `input_size_s` | float | Alias for `input_window_seconds`. | | `activation: nn.Module, default=nn.ReLU` | — | Activation function class to apply. Should be a PyTorch activation module class like `nn.ReLU` or `nn.ELU`. Default is `nn.ReLU`. | ## References 1. Fernandez-Blanco, E., Rivero, D. & Pazos, A. Convolutional neural networks for sleep stage scoring on a two-channel EEG signal. Soft Comput 24, 4067–4079 (2020). https://doi.org/10.1007/s00500-019-04174-1 ## Citation Cite the original architecture paper (see *References* above) and braindecode: ```bibtex @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.