DIVER-1-0.1s-tiny / README.md
bruAristimunha's picture
Upload README.md with huggingface_hub
92eed00 verified
|
Raw History Blame Contribute Delete
2.83 kB
---
library_name: braindecode
license: mit
pipeline_tag: feature-extraction
tags:
- braindecode
- DIVER-1
- ieeg
- seeg
- eeg
- foundation-model
- pytorch_model_hub_mixin
---
# DIVER-1, 0.1 s Tiny (iEEG)
The released encoder of [Han et al. (2025)](https://arxiv.org/abs/2512.19097),
the iEEG encoder DIVER-1-0.1s Tiny (patches of 0.1 s at 500 Hz, pretrained on intracranial recordings), 12.7M parameters, converted to
[`braindecode.models.DIVER1`](https://braindecode.org/stable/generated/braindecode.models.DIVER1.html).
Source: `weights/ieeg_pretrained_weights.pt` of [DIVER-Project/DIVER-1](https://github.com/DIVER-Project/DIVER-1/tree/25638eb38ef297b582ab79ae1c96260f57c155b3),
sha256 `b812093779fb5cf1b76e18f8307df4136b67b008b6cd94c6be75fa286a87864c` (the GitHub LFS object is no longer served; the same file is in
the authors' [Google Drive folder](https://drive.google.com/drive/folders/1Wmv36jifjE0Jj6noGOFFsqRzK-4xnj1b)). Conversion casts the bfloat16
tensors to float32, renames them and drops the pretraining-only mask token and
reconstruction heads; `convert_diver1_weights.py` in this repository reproduces
it. Encoder features match the official model to 0.0e+00 in
float32 on CPU, for intracranial and scalp channels, with muP attention scaling
(`mup_attention=True`).
## Usage
Resample to 500 Hz and pass the electrode positions in `chs_info` (metres, as in
MNE). The channel kinds set the modality: SEEG, ECoG and DBS are intracranial,
EEG is scalp.
```python
import torch
from braindecode.models import DIVER1
model = DIVER1.from_pretrained(
"braindecode/DIVER-1-0.1s-tiny", chs_info=raw.info["chs"], n_times=500, n_outputs=2
)
logits = model(torch.randn(8, len(raw.ch_names), 500))
```
`n_times` must be a multiple of 50. The saved geometry is 6
channels and 500 samples; the encoder does not depend on it, so
pass your own montage, `n_times` and `n_outputs` when loading.
## Limitations
These files hold the encoder only; the release has no classification head.
Braindecode initializes the head on load, so it needs fine-tuning, as in the
paper's protocol (`scripts/finetune_neuroprobe.sh`). The check above covers
float32 CPU encoder features, not downstream accuracy, GPU kernels or mixed
precision.
## Citation
```bibtex
@article{han2025diver,
title={DIVER-1: Scaling intracranial EEG foundation models for transferable representations},
author={Han, Danny Dongyeop and Gwon, Yonghyeon and Lee, Ahhyun Lucy and Lee, Taeyang and Lee, Seong Jin and Choi, Jubin and Lee, Sebin and Bang, Jihyun and Lee, Seungju and Park, David Keetae and Yoo, Shinjae and Chung, Chun Kee and Cha, Jiook},
journal={arXiv preprint arXiv:2512.19097},
year={2025}
}
```
## License
The weights are released by the DIVER Project under the MIT licence (`LICENSE`).
Braindecode's code is BSD-3-Clause.