--- license: bsd-3-clause library_name: braindecode pipeline_tag: feature-extraction tags: - eeg - biosignal - pytorch - neuroscience - braindecode - convolutional - sleep-staging --- # SleepStagerChambon2018 Sleep staging architecture from Chambon et al. (2018) [Chambon2018]. > **Architecture-only repository.** Documents the > `braindecode.models.SleepStagerChambon2018` 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 SleepStagerChambon2018 model = SleepStagerChambon2018( 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 ![SleepStagerChambon2018 architecture](https://braindecode.org/dev/_static/model/SleepStagerChambon2018.jpg) ## Parameters | Parameter | Type | Description | |---|---|---| | `n_conv_chs` | int | Number of convolutional channels. Set to 8 in [Chambon2018]. | | `time_conv_size_s` | float | Size of filters in temporal convolution layers, in seconds. Set to 0.5 in [Chambon2018] (64 samples at sfreq=128). | | `max_pool_size_s` | float | Max pooling size, in seconds. Set to 0.125 in [Chambon2018] (16 samples at sfreq=128). | | `pad_size_s` | float | Padding size, in seconds. Set to 0.25 in [Chambon2018] (half the temporal convolution kernel size). | | `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`. | | `input_size_s:` | — | Alias for `input_window_seconds`. | | `n_classes:` | — | Alias for `n_outputs`. | | `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. Chambon, S., Galtier, M. N., Arnal, P. J., Wainrib, G., & Gramfort, A. (2018). A deep learning architecture for temporal sleep stage classification using multivariate and multimodal time series. IEEE Transactions on Neural Systems and Rehabilitation Engineering, 26(4), 758-769. ## 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.