We would like to integrate the following EEG models into Braindecode, and to use them in a systematic study comparing foundation models and supervised baselines under a common evaluation protocol. Each port can get its own PR.
SleepFM (#1106) and CSBrain (#1196) already have open PRs and are not listed here.
We are tagging the authors of the original implementations: your input on checkpoints, preprocessing and licensing would help us integrate your model faithfully.
Proposed first ports
| Model |
Authors |
Original source |
Source license |
Notes |
| TMSA-Net |
@Whit3Zhao |
Whit3Zhao/TMSA-Net |
MIT |
Small model in plain PyTorch. The default embedding size is 19 with 4 heads, so attention projects through 16 dimensions (19 → 16 → 19); standard nn.MultiheadAttention does not reproduce this. Local and global attention outputs are summed. |
| TFM-Tokenizer |
@Jathurshan0330 |
Jathurshan0330/TFM-Tokenizer, weights |
MIT (code and weights) |
Two parts: a time-frequency VQ tokenizer (STFT at 200 Hz, n_fft=200, hop 100, EMA codebook) and a token classifier. Uses linear attention from linear_attention_transformer. The channel embedding table has 16 slots, so the number of input channels is limited to 16. |
Other foundation models
| Model |
Authors |
Original source |
Source license |
Notes |
| LEAD |
@YiheWang |
DL4mHealth/LEAD |
CC BY-NC-SA 4.0 |
Channel-flexible model that takes electrode names and sampling rate as inputs. The pretrained checkpoint is linked from the README (Google Drive). The code has changed since publication, so the revision that matches the released checkpoint needs to be identified. |
| NeuroRVQ |
@KonstantinosBarmpas |
KonstantinosBarmpas/NeuroRVQ, weights |
CC BY-NC 4.0 |
Already requested in #1090. Suggest porting the EEG foundation model first and the RVQ tokenizer separately. |
| Uni-DMFM |
@ichenws |
ichenws/Uni-DMFM |
No license file |
Patch-based model with multi-scale convolutions. Spatial attention reuses the temporal attention projections, and the head flattens the full token grid. |
| NeuroGPT |
@wenhui0206 |
wenhui0206/NeuroGPT, weights |
GPL-3.0 |
Conformer encoder over signal chunks followed by a GPT-2 decoder. |
| mdJPT |
@soul-M-42 |
ncclab-sustech/mdJPT_nips2025 |
No license file |
Normalization depends on how the batch is grouped, and the model needs an external channel-interpolation file. Both points need to be settled before a standard per-trial forward can be defined. |
| SleepGPT |
@LordXX505 |
LordXX505/SleepGPT |
No license file |
Raw PSG foundation model (Huang et al., Nat. Commun. 2026). Fuses time and frequency streams. Requires pinning the large configuration and separating the model from optional Triton/LongNet code. |
| HEAR (base/large) |
@Baizhige |
Code in the ICLR 2026 OpenReview supplement (arXiv:2510.12515) |
Not stated |
Channel-flexible model with a learnable coordinate-based spatial embedding over a 1,132-electrode montage. The supplement contains models.py, finetuning.py and the montage file; we did not find public pretrained weights. |
Supervised baselines
| Model |
Authors |
Original source |
Source license |
Notes |
| EEGWaveNet |
@kkuroma, @IoBT-VISTEC |
IoBT-VISTEC/EEGWaveNet |
No license file |
Small multiscale seizure-detection CNN. |
| ADFCNN |
@UM-Tao |
UM-Tao/ADFCNN-MI |
No license file |
The classifier kernel is fixed to 751-sample inputs, and the attention block uses an unusual reshape. |
| DBConformer |
@wzwvv |
wzwvv/DBConformer |
PolyForm Noncommercial 1.0.0 (stated in README) |
Two-branch model. Attention is scaled by the full embedding size rather than the per-head size. |
| SleepTransformer |
@pquochuy |
pquochuy/SleepTransformer |
LICENSE file says MIT; README says CC BY-NC 4.0 |
TensorFlow 1 sequence-to-sequence model on spectrogram inputs. Needs a sequence-level API. |
| SleepEEGNet |
@MousaviSajad |
MousaviSajad/SleepEEGNet |
Academic / non-commercial use (README) |
TensorFlow 1 autoregressive sequence-to-sequence model. |
| BiDANN |
— |
Reimplementation in XJTU-EEG/LibEER |
MIT (LibEER) |
We did not find the authors' code. LibEER's version takes differential-entropy features from 62 SEED electrodes split by hemisphere. |
| HSLT |
— |
Reimplementation in XJTU-EEG/LibEER |
MIT (LibEER) |
We did not find the authors' code. Works on band-power features grouped by scalp region, with electrode-level and region-level transformers. |
Requirements for each port
- Use the original weights where available and check outputs and gradients against the original code on CPU before merging.
- Record the preprocessing each model expects: sampling rate, filters, normalization, units, and channel order or electrode positions.
- Where the source license is restrictive or missing, settle it before copying code or redistributing weights.
Question for the authors
Would you be okay with us integrating your model into Braindecode (over 1M downloads)? :) No action is needed if yes; if not, please let us know before we start implementing it here.
We would like to integrate the following EEG models into Braindecode, and to use them in a systematic study comparing foundation models and supervised baselines under a common evaluation protocol. Each port can get its own PR.
SleepFM (#1106) and CSBrain (#1196) already have open PRs and are not listed here.
We are tagging the authors of the original implementations: your input on checkpoints, preprocessing and licensing would help us integrate your model faithfully.
Proposed first ports
nn.MultiheadAttentiondoes not reproduce this. Local and global attention outputs are summed.n_fft=200, hop 100, EMA codebook) and a token classifier. Uses linear attention fromlinear_attention_transformer. The channel embedding table has 16 slots, so the number of input channels is limited to 16.Other foundation models
forwardcan be defined.models.py,finetuning.pyand the montage file; we did not find public pretrained weights.Supervised baselines
Requirements for each port
Question for the authors
Would you be okay with us integrating your model into Braindecode (over 1M downloads)? :) No action is needed if yes; if not, please let us know before we start implementing it here.