--- language: en license: apache-2.0 tags: - sleep-staging - eeg - pytorch - physioex pretty_name: PhysioEx Pretrained Models --- # PhysioEx — Pretrained Sleep Staging Models Pretrained deep learning models for automatic sleep staging from [PhysioEx](https://github.com/guidogagl/physioex) (Gagliardi et al. 2025). All models follow the AASM 5-class standard: **W, N1, N2, N3, REM**. ## Available Models | Model | Architecture | Training Dataset | Channels | Pipeline | Params | Reference | |---|---|---|---|---|---|---| | `seqsleepnet-phan` | BiLSTM + Attention | Sleep-EDF | EEG | seqsleepnet (STFT) | 659K | Phan et al. 2019 | | `tinysleepnet-supratak` | CNN + LSTM | Sleep-EDF | EEG | raw | 83K | Supratak & Guo 2020 | | `sleeptransformer-phan` | Transformer | SHHS | EEG | seqsleepnet (STFT) | 2.1M | Phan et al. 2022 | | `lseqsleepnet-phan` | Long-sequence BiLSTM | SHHS | EEG | seqsleepnet (STFT) | 1.8M | Phan et al. 2023 | | `chambon2018` | Braindecode CNN | MASS SS3 | EEG | raw (128 Hz) | 220K | Chambon et al. 2018 | | `tsinalis-2016` | 2-layer CNN | Sleep-EDF | EEG | identity | 145K | Tsinalis et al. 2016 | *Models are added as training completes. Check back for updates.* ## Usage ```python from physioex.models import load_from_pretrained # Load a pretrained model model = load_from_pretrained("seqsleepnet-phan", verbose=True) # Use for inference or embedding extraction from physioex.models import extract_embeddings, load_embeddings # Extract embeddings on a new dataset path = extract_embeddings(model, dataset, model_name="seqsleepnet-phan", ...) # Or download pre-extracted embeddings from HuggingFace path = load_embeddings("seqsleepnet-phan", "hmc", verbose=True) ``` ## Cross-Dataset Evaluation (SeqSleepNet-Phan) Zero-shot transfer from Sleep-EDF to other datasets (voting evaluation): | Dataset | ACC | Macro F1 | κ | |---|---|---|---| | **Sleep-EDF** (train) | 0.8101 | 0.7575 | 0.7421 | | DCSM | 0.6649 | 0.5839 | 0.5370 | | MESA | 0.6330 | 0.5546 | 0.4921 | | MASS | 0.6033 | 0.5422 | 0.4655 | | HMC | 0.5851 | 0.5574 | 0.4464 | | WSC | 0.4928 | 0.4577 | 0.3255 | | Parkinsons | 0.4428 | 0.3902 | 0.2737 | | SHHS | 0.3989 | 0.3597 | 0.2434 | | Alzheimers | 0.2582 | 0.1449 | 0.0239 | ## Pre-extracted Embeddings Contextualized per-epoch embeddings are available as separate dataset repos: | Model | HuggingFace Repo | Datasets | |---|---|---| | SeqSleepNet-Phan | [`4rooms/seqsleepnet-phan-embeddings`](https://huggingface.co/datasets/4rooms/seqsleepnet-phan-embeddings) | 20 datasets, 12.5K subjects | ## Datasets | Dataset | Source | URL | |---|---|---| | Sleep-EDF | PhysioNet | https://physionet.org/content/sleep-edfx/1.0.0/ | | HMC | PhysioNet | https://physionet.org/content/hmc-sleep-staging/1.1/ | | DCSM | ERDA/KU | https://erda.ku.dk/public/archives/db553715ecbe1f3ac66c1dc569826eef/published-archive.html | | SHHS | NSRR | https://sleepdata.org/datasets/shhs | | MESA | NSRR | https://sleepdata.org/datasets/mesa | | HomePAP | NSRR | https://sleepdata.org/datasets/homepap | | STAGES | NSRR | https://sleepdata.org/datasets/stages | | MASS | CEAMS | http://ceams-carsm.ca/mass/ | | WSC | NSRR | https://sleepdata.org/datasets/wsc | | MrOS | NSRR | https://sleepdata.org/datasets/mros | ## Citations ```bibtex @article{gagliardi2025physioex, author={Gagliardi, Guido and Alfeo, Luca and Cimino, Mario G C A and Valenza, Gaetano and De Vos, Maarten}, title={PhysioEx, a new Python library for explainable sleep staging through deep learning}, journal={Physiological Measurement}, url={http://iopscience.iop.org/article/10.1088/1361-6579/adaf73}, year={2025}, } @article{phan2019seqsleepnet, title={SeqSleepNet: End-to-End Hierarchical Recurrent Neural Network for Sequence-to-Sequence Automatic Sleep Staging}, author={Phan, Huy and Andreotti, Fernando and Cooray, Navin and Chen, Oliver Y and De Vos, Maarten}, journal={IEEE Transactions on Neural Systems and Rehabilitation Engineering}, year={2019}, } @inproceedings{supratak2020tinysleepnet, title={TinySleepNet: An Efficient Deep Learning Model for Sleep Stage Scoring based on Raw Single-Channel EEG}, author={Supratak, Akara and Guo, Yike}, booktitle={IEEE EMBC}, year={2020}, } @article{phan2022sleeptransformer, title={SleepTransformer: Automatic Sleep Staging with Interpretability and Uncertainty Quantification}, author={Phan, Huy and Mikkelsen, Kaare and Ch\'en, Oliver Y and Koch, Philipp and Mertins, Alfred and De Vos, Maarten}, journal={IEEE Transactions on Biomedical Engineering}, year={2022}, } @article{phan2023lseqsleepnet, title={L-SeqSleepNet: Whole-cycle Long Sequence Modelling for Automatic Sleep Staging}, author={Phan, Huy and Ch\'en, Oliver Y and Koch, Philipp and Lu, Zhongxiang and McLoughlin, Ian and Mertins, Alfred and De Vos, Maarten}, journal={IEEE Transactions on Neural Systems and Rehabilitation Engineering}, year={2023}, } @article{chambon2018deep, title={A deep learning architecture for temporal sleep stage classification using multivariate and multimodal time series}, author={Chambon, Stanislas and Galtier, Mathieu and Arnal, Pierrick and Wainrib, Gilles and Gramfort, Alexandre}, journal={IEEE Transactions on Neural Systems and Rehabilitation Engineering}, year={2018}, } @article{tsinalis2016automatic, title={Automatic Sleep Stage Scoring with Single-Channel EEG Using Convolutional Neural Networks}, author={Tsinalis, Orestis and Matthews, Paul M and Guo, Yike and Zafeiriou, Stefanos}, journal={arXiv:1610.01683}, year={2016}, } ```