Braindecode 1.3.1.dev178641268__tar.gz → 1.3.1.dev182267549__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {braindecode-1.3.1.dev178641268/braindecode.egg-info → braindecode-1.3.1.dev182267549}/PKG-INFO +1 -1
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/base.py +4 -66
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/__init__.py +0 -2
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/summary.csv +0 -1
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/util.py +0 -1
- braindecode-1.3.1.dev182267549/braindecode/version.py +1 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549/braindecode.egg-info}/PKG-INFO +1 -1
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode.egg-info/SOURCES.txt +0 -1
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/api.rst +6 -11
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/models/models_categorization.rst +3 -3
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/whats_new.rst +1 -6
- braindecode-1.3.1.dev178641268/braindecode/models/eegpt.py +0 -1253
- braindecode-1.3.1.dev178641268/braindecode/version.py +0 -1
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/LICENSE.txt +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/MANIFEST.in +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/NOTICE.txt +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/README.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/__init__.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/augmentation/__init__.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/augmentation/base.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/augmentation/functional.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/augmentation/transforms.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/classifier.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/__init__.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/bbci.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/bcicomp.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/bids/__init__.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/bids/datasets.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/bids/format.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/bids/hub.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/bids/hub_format.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/bids/hub_io.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/bids/hub_validation.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/bids/iterable.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/chb_mit.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/mne.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/moabb.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/nmt.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/registry.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/siena.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/sleep_physionet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/tuh.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/utils.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/xy.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datautil/__init__.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datautil/channel_utils.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datautil/hub_formats.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datautil/serialization.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datautil/util.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/eegneuralnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/functional/__init__.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/functional/functions.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/functional/initialization.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/atcnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/attentionbasenet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/attn_sleep.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/base.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/bendr.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/biot.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/brainmodule.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/config.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/contrawr.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/ctnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/deep4.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/deepsleepnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/eegconformer.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/eeginception_erp.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/eeginception_mi.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/eegitnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/eegminer.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/eegnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/eegnex.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/eegsimpleconv.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/eegsym.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/eegtcnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/fbcnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/fblightconvnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/fbmsnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/hybrid.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/ifnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/labram.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/luna.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/medformer.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/msvtnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/patchedtransformer.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/reve.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/sccnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/shallow_fbcsp.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/signal_jepa.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/sinc_shallow.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/sparcnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/sstdpn.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/syncnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/tcn.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/tidnet.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/tsinception.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/usleep.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/modules/__init__.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/modules/activation.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/modules/attention.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/modules/blocks.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/modules/convolution.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/modules/filter.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/modules/layers.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/modules/linear.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/modules/parametrization.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/modules/stats.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/modules/util.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/modules/wrapper.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/preprocessing/__init__.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/preprocessing/eegprep_preprocess.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/preprocessing/mne_preprocess.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/preprocessing/preprocess.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/preprocessing/util.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/preprocessing/windowers.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/regressor.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/samplers/__init__.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/samplers/base.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/samplers/ssl.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/training/__init__.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/training/callbacks.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/training/losses.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/training/scoring.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/util.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/visualization/__init__.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/visualization/confusion_matrices.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/visualization/gradients.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode.egg-info/dependency_links.txt +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode.egg-info/requires.txt +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode.egg-info/top_level.txt +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/Makefile +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/_templates/autosummary/class.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/_templates/autosummary/function.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/cite.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/conf.py +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/help.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/index.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/install/install.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/install/install_pip.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/install/install_source.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/models/categorization/attention.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/models/categorization/channel.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/models/categorization/convolution.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/models/categorization/filterbank.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/models/categorization/gnn.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/models/categorization/interpretable.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/models/categorization/lbm.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/models/categorization/recurrent.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/models/categorization/spd.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/models/models.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/models/models_table.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/models/models_visualization.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/docs/sg_execution_times.rst +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/pyproject.toml +0 -0
- {braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/setup.cfg +0 -0
{braindecode-1.3.1.dev178641268/braindecode.egg-info → braindecode-1.3.1.dev182267549}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: braindecode
|
|
3
|
-
Version: 1.3.1.
|
|
3
|
+
Version: 1.3.1.dev182267549
|
|
4
4
|
Summary: Deep learning software to decode EEG, ECG or MEG signals
|
|
5
5
|
Author-email: Robin Tibor Schirrmeister <robintibor@gmail.com>, Bruno Aristimunha Pinto <b.aristimunha@gmail.com>, Alexandre Gramfort <agramfort@meta.com>
|
|
6
6
|
Maintainer-email: Alexandre Gramfort <agramfort@meta.com>, Bruno Aristimunha Pinto <b.aristimunha@gmail.com>, Robin Tibor Schirrmeister <robintibor@gmail.com>
|
{braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/datasets/base.py
RENAMED
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
|
|
11
11
|
from __future__ import annotations
|
|
12
12
|
|
|
13
|
-
import bisect
|
|
14
13
|
import json
|
|
15
14
|
import os
|
|
16
15
|
import shutil
|
|
@@ -24,7 +23,7 @@ import mne.io
|
|
|
24
23
|
import numpy as np
|
|
25
24
|
import pandas as pd
|
|
26
25
|
from mne.utils.docs import deprecated
|
|
27
|
-
from torch.utils.data import ConcatDataset, Dataset
|
|
26
|
+
from torch.utils.data import ConcatDataset, Dataset
|
|
28
27
|
from typing_extensions import TypeVar
|
|
29
28
|
|
|
30
29
|
from .bids.hub import HubDatasetMixin
|
|
@@ -400,8 +399,6 @@ class BaseConcatDataset(ConcatDataset, HubDatasetMixin, Generic[T]):
|
|
|
400
399
|
list of RecordDataset
|
|
401
400
|
target_transform : callable | None
|
|
402
401
|
Optional function to call on targets before returning them.
|
|
403
|
-
lazy : bool, default False
|
|
404
|
-
If True, defer computing cumulative sizes until length or item access.
|
|
405
402
|
"""
|
|
406
403
|
|
|
407
404
|
datasets: list[T]
|
|
@@ -410,12 +407,7 @@ class BaseConcatDataset(ConcatDataset, HubDatasetMixin, Generic[T]):
|
|
|
410
407
|
self,
|
|
411
408
|
list_of_ds: list[T | BaseConcatDataset[T]],
|
|
412
409
|
target_transform: Callable | None = None,
|
|
413
|
-
*,
|
|
414
|
-
lazy: bool = False,
|
|
415
410
|
):
|
|
416
|
-
# Adapted from torch.utils.data.ConcatDataset:
|
|
417
|
-
# added lazy init to defer cumulative size computation until access,
|
|
418
|
-
# plus _ensure_cumulative_sizes/_get_single_item helpers and __len__ changes.
|
|
419
411
|
# if we get a list of BaseConcatDataset, get all the individual datasets
|
|
420
412
|
flattened_list_of_ds: list[T] = []
|
|
421
413
|
for ds in list_of_ds:
|
|
@@ -423,49 +415,14 @@ class BaseConcatDataset(ConcatDataset, HubDatasetMixin, Generic[T]):
|
|
|
423
415
|
flattened_list_of_ds.extend(ds.datasets)
|
|
424
416
|
else:
|
|
425
417
|
flattened_list_of_ds.append(ds)
|
|
426
|
-
|
|
427
|
-
# Validate inputs (same validation for both lazy and non-lazy)
|
|
428
|
-
if len(flattened_list_of_ds) == 0:
|
|
429
|
-
raise ValueError("datasets should not be an empty iterable")
|
|
430
|
-
for ds in flattened_list_of_ds:
|
|
431
|
-
if isinstance(ds, IterableDataset):
|
|
432
|
-
raise TypeError("ConcatDataset does not support IterableDataset")
|
|
433
|
-
|
|
434
|
-
if lazy:
|
|
435
|
-
Dataset.__init__(self)
|
|
436
|
-
self.datasets = flattened_list_of_ds
|
|
437
|
-
# Defer cumulative size computation until first access.
|
|
438
|
-
self._cumulative_sizes: list[int] | None = None
|
|
439
|
-
else:
|
|
440
|
-
super().__init__(flattened_list_of_ds)
|
|
418
|
+
super().__init__(flattened_list_of_ds)
|
|
441
419
|
|
|
442
420
|
self.target_transform = target_transform
|
|
443
|
-
self._lazy = lazy
|
|
444
|
-
|
|
445
|
-
@property
|
|
446
|
-
def cumulative_sizes(self) -> list[int]:
|
|
447
|
-
"""Cumulative sizes of the underlying datasets.
|
|
448
|
-
|
|
449
|
-
When the dataset is created with ``lazy=True``, the cumulative sizes
|
|
450
|
-
are computed on first access and then cached.
|
|
451
|
-
"""
|
|
452
|
-
return self._ensure_cumulative_sizes()
|
|
453
|
-
|
|
454
|
-
@cumulative_sizes.setter
|
|
455
|
-
def cumulative_sizes(self, value: list[int] | None) -> None:
|
|
456
|
-
# Keep compatibility with torch.utils.data.ConcatDataset, which assigns
|
|
457
|
-
# to ``self.cumulative_sizes`` in its __init__.
|
|
458
|
-
self._cumulative_sizes = value
|
|
459
|
-
|
|
460
|
-
def _ensure_cumulative_sizes(self) -> list[int]:
|
|
461
|
-
if self._cumulative_sizes is None:
|
|
462
|
-
self._cumulative_sizes = ConcatDataset.cumsum(self.datasets)
|
|
463
|
-
return self._cumulative_sizes
|
|
464
421
|
|
|
465
422
|
def _get_sequence(self, indices):
|
|
466
423
|
X, y = list(), list()
|
|
467
424
|
for ind in indices:
|
|
468
|
-
out_i =
|
|
425
|
+
out_i = super().__getitem__(ind)
|
|
469
426
|
X.append(out_i[0])
|
|
470
427
|
y.append(out_i[1])
|
|
471
428
|
|
|
@@ -474,25 +431,6 @@ class BaseConcatDataset(ConcatDataset, HubDatasetMixin, Generic[T]):
|
|
|
474
431
|
|
|
475
432
|
return X, y
|
|
476
433
|
|
|
477
|
-
def __len__(self):
|
|
478
|
-
return self._ensure_cumulative_sizes()[-1]
|
|
479
|
-
|
|
480
|
-
def _get_single_item(self, idx: int):
|
|
481
|
-
if idx < 0:
|
|
482
|
-
if -idx > len(self):
|
|
483
|
-
raise ValueError(
|
|
484
|
-
"absolute value of index should not exceed dataset length"
|
|
485
|
-
)
|
|
486
|
-
idx = len(self) + idx
|
|
487
|
-
|
|
488
|
-
cumulative_sizes = self._ensure_cumulative_sizes()
|
|
489
|
-
dataset_idx = bisect.bisect_right(cumulative_sizes, idx)
|
|
490
|
-
if dataset_idx == 0:
|
|
491
|
-
sample_idx = idx
|
|
492
|
-
else:
|
|
493
|
-
sample_idx = idx - cumulative_sizes[dataset_idx - 1]
|
|
494
|
-
return self.datasets[dataset_idx][sample_idx]
|
|
495
|
-
|
|
496
434
|
def __getitem__(self, idx: int | list):
|
|
497
435
|
"""
|
|
498
436
|
---
|
|
@@ -506,7 +444,7 @@ class BaseConcatDataset(ConcatDataset, HubDatasetMixin, Generic[T]):
|
|
|
506
444
|
if isinstance(idx, Iterable): # Sample multiple windows
|
|
507
445
|
item = self._get_sequence(idx)
|
|
508
446
|
else:
|
|
509
|
-
item =
|
|
447
|
+
item = super().__getitem__(idx)
|
|
510
448
|
if self.target_transform is not None:
|
|
511
449
|
item = item[:1] + (self.target_transform(item[1]),) + item[2:]
|
|
512
450
|
return item
|
{braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/__init__.py
RENAMED
|
@@ -18,7 +18,6 @@ from .eegitnet import EEGITNet
|
|
|
18
18
|
from .eegminer import EEGMiner
|
|
19
19
|
from .eegnet import EEGNet, EEGNetv4
|
|
20
20
|
from .eegnex import EEGNeX
|
|
21
|
-
from .eegpt import EEGPT
|
|
22
21
|
from .eegsimpleconv import EEGSimpleConv
|
|
23
22
|
from .eegsym import EEGSym
|
|
24
23
|
from .eegtcnet import EEGTCNet
|
|
@@ -74,7 +73,6 @@ __all__ = [
|
|
|
74
73
|
"DeepSleepNet",
|
|
75
74
|
"BrainModule",
|
|
76
75
|
"EEGConformer",
|
|
77
|
-
"EEGPT",
|
|
78
76
|
"EEGInceptionERP",
|
|
79
77
|
"EEGInceptionMI",
|
|
80
78
|
"EEGITNet",
|
{braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/summary.csv
RENAMED
|
@@ -8,7 +8,6 @@ CTNet,Motor Imagery,Classification,250,"n_chans, n_outputs, n_times",26900,"CTNe
|
|
|
8
8
|
Deep4Net,General,Classification,250,"n_chans, n_outputs, n_times",282879,"Deep4Net(n_chans=22, n_outputs=4, n_times=1000)","Convolution"
|
|
9
9
|
DeepSleepNet,Sleep Staging,Classification,256,"n_chans, n_outputs",24744837,"DeepSleepNet(n_chans=1, n_outputs=5, n_times=7680, sfreq=256)","Convolution,Recurrent"
|
|
10
10
|
EEGConformer,General,Classification,250,"n_chans, n_outputs, n_times",789572,"EEGConformer(n_chans=22, n_outputs=4, n_times=1000)","Convolution,Attention/Transformer"
|
|
11
|
-
EEGPT,General,Classification,256,"n_chans, n_outputs, n_times",25477635,"EEGPT(n_chans=58, n_outputs=4, n_times=1024)","Foundation Model,Attention/Transformer"
|
|
12
11
|
EEGInceptionERP,"ERP, SSVEP",Classification,128,"n_chans, n_outputs",14926,"EEGInceptionERP(n_chans=8, n_outputs=2, n_times=128, sfreq=128)","Convolution"
|
|
13
12
|
EEGInceptionMI,Motor Imagery,Classification,250,"n_chans, n_outputs, n_times",558028,"EEGInceptionMI(n_chans=22, n_outputs=4, n_times=1000, n_convs=5, n_filters=12)","Convolution"
|
|
14
13
|
EEGITNet,Motor Imagery,Classification,125,"n_chans, n_outputs, n_times",5212,"EEGITNet(n_chans=22, n_outputs=4, n_times=500)","Convolution,Recurrent"
|
{braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode/models/util.py
RENAMED
|
@@ -73,7 +73,6 @@ models_mandatory_parameters: list[
|
|
|
73
73
|
("EEGInceptionMI", ["n_chans", "n_outputs", "n_times", "sfreq"], None),
|
|
74
74
|
("EEGITNet", ["n_chans", "n_outputs", "n_times"], None),
|
|
75
75
|
("EEGNet", ["n_chans", "n_outputs", "n_times"], None),
|
|
76
|
-
("EEGPT", ["n_chans", "n_outputs", "n_times", "chs_info"], None),
|
|
77
76
|
("ShallowFBCSPNet", ["n_chans", "n_outputs", "n_times"], None),
|
|
78
77
|
(
|
|
79
78
|
"SleepStagerBlanco2020",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.3.1.dev182267549"
|
{braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549/braindecode.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: braindecode
|
|
3
|
-
Version: 1.3.1.
|
|
3
|
+
Version: 1.3.1.dev182267549
|
|
4
4
|
Summary: Deep learning software to decode EEG, ECG or MEG signals
|
|
5
5
|
Author-email: Robin Tibor Schirrmeister <robintibor@gmail.com>, Bruno Aristimunha Pinto <b.aristimunha@gmail.com>, Alexandre Gramfort <agramfort@meta.com>
|
|
6
6
|
Maintainer-email: Alexandre Gramfort <agramfort@meta.com>, Bruno Aristimunha Pinto <b.aristimunha@gmail.com>, Robin Tibor Schirrmeister <robintibor@gmail.com>
|
{braindecode-1.3.1.dev178641268 → braindecode-1.3.1.dev182267549}/braindecode.egg-info/SOURCES.txt
RENAMED
|
@@ -70,7 +70,6 @@ braindecode/models/eegitnet.py
|
|
|
70
70
|
braindecode/models/eegminer.py
|
|
71
71
|
braindecode/models/eegnet.py
|
|
72
72
|
braindecode/models/eegnex.py
|
|
73
|
-
braindecode/models/eegpt.py
|
|
74
73
|
braindecode/models/eegsimpleconv.py
|
|
75
74
|
braindecode/models/eegsym.py
|
|
76
75
|
braindecode/models/eegtcnet.py
|
|
@@ -62,16 +62,12 @@ a common interface for all EEG models and derivate variables names if necessary.
|
|
|
62
62
|
Some models have pre-trained weights available on the Hugging Face BrainDecode
|
|
63
63
|
organization:
|
|
64
64
|
|
|
65
|
-
- :class
|
|
66
|
-
- :class
|
|
67
|
-
- :class
|
|
68
|
-
- :class
|
|
69
|
-
|
|
70
|
-
- :class
|
|
71
|
-
- :class:`~braindecode.models.SignalJEPA` - Self-supervised learning model with
|
|
72
|
-
pre-trained weights
|
|
73
|
-
- :class:`~braindecode.models.EEGPT` - Pretrained transformer for universal EEG
|
|
74
|
-
representation
|
|
65
|
+
- :class:`BIOT` - Foundation model with pre-trained weights
|
|
66
|
+
- :class:`Labram` - Large Brain Model with pre-trained weights
|
|
67
|
+
- :class:`REVE` - EEG foundation model with pre-trained weights
|
|
68
|
+
- :class:`LUNA` - Universal EEG embedding model with pre-trained weights
|
|
69
|
+
- :class:`BENDR` - Foundation model with pre-trained weights
|
|
70
|
+
- :class:`SignalJEPA` - Self-supervised learning model with pre-trained weights
|
|
75
71
|
|
|
76
72
|
**Example - Loading a pre-trained model:**
|
|
77
73
|
|
|
@@ -142,7 +138,6 @@ a common interface for all EEG models and derivate variables names if necessary.
|
|
|
142
138
|
EEGITNet
|
|
143
139
|
EEGMiner
|
|
144
140
|
EEGNet
|
|
145
|
-
EEGPT
|
|
146
141
|
EEGNeX
|
|
147
142
|
EEGSimpleConv
|
|
148
143
|
EEGSym
|
|
@@ -175,7 +175,7 @@ categories can be found in the respective sections below.
|
|
|
175
175
|
- In contrast, several methods employ **attention/transformer** modules
|
|
176
176
|
(:bdg-info:`Attention/Transformer`) to capture longer-range dependencies efficiently,
|
|
177
177
|
e.g., :class:`EEGConformer`, :class:`CTNet`, :class:`ATCNet`,
|
|
178
|
-
:class:`AttentionBaseNet
|
|
178
|
+
:class:`AttentionBaseNet`
|
|
179
179
|
(:cite:label:`song2022eeg,zhao2024ctnet,altaheri2022atcnet`).
|
|
180
180
|
- **Filterbank-style models** (:bdg-primary:`Filterbank`) explicitly decompose signals
|
|
181
181
|
into multiple bands before (or while) learning, echoing the classic FBCSP pipeline;
|
|
@@ -193,8 +193,8 @@ categories can be found in the respective sections below.
|
|
|
193
193
|
- **Foundation Model / Transformer** (:bdg-danger:`Foundation Model`) approaches
|
|
194
194
|
pretrain attention-based encoders on diverse biosignals and fine-tune for EEG tasks;
|
|
195
195
|
e.g., :class:`BIOT` (:cite:label:`yang2023biot`), :class:`Labram`
|
|
196
|
-
(:cite:label:`jiang2024large`)
|
|
197
|
-
|
|
196
|
+
(:cite:label:`jiang2024large`). These typically need a heavily self-supervised
|
|
197
|
+
pre-training before decoding.
|
|
198
198
|
- **Graph neural networks** (:bdg-light:`Graph Neural Network`) treat channels/regions
|
|
199
199
|
as nodes with learned (static or dynamic) edges to model functional connectivity
|
|
200
200
|
explicitly; representative EEG-GNN, more common in the epileptic decoding
|
|
@@ -27,12 +27,7 @@ Version 1.4 (Source - GitHub)
|
|
|
27
27
|
|
|
28
28
|
Enhancements
|
|
29
29
|
============
|
|
30
|
-
-
|
|
31
|
-
to defer cumulative size computation (and any downstream dataset length access) until
|
|
32
|
-
first access, supporting truly lazy raw loading workflows.
|
|
33
|
-
- Adding :class:`braindecode.models.EEGPT` with HuggingFace Hub integration and
|
|
34
|
-
pretrained weights available at `braindecode/eegpt-pretrained <https://huggingface.co/braindecode/eegpt-pretrained>`_
|
|
35
|
-
(:gh:`908` by `Young Truong`_ and `Kuntal Kokate`_)
|
|
30
|
+
- None yet.
|
|
36
31
|
|
|
37
32
|
API changes
|
|
38
33
|
============
|