braindecode 1.7.0.dev174022531__tar.gz → 1.7.0.dev176045030__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.7.0.dev174022531/braindecode.egg-info → braindecode-1.7.0.dev176045030}/PKG-INFO +1 -1
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/classifier.py +7 -7
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/eegneuralnet.py +4 -7
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/__init__.py +2 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/config.py +5 -5
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/reve.py +32 -33
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/util.py +45 -1
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/regressor.py +7 -7
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/training/scoring.py +7 -5
- braindecode-1.7.0.dev176045030/braindecode/version.py +1 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030/braindecode.egg-info}/PKG-INFO +1 -1
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/index.rst +6 -6
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/models.rst +2 -2
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/models_table.rst +9 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/whats_new.rst +18 -3
- braindecode-1.7.0.dev174022531/braindecode/version.py +0 -1
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/LICENSE.txt +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/MANIFEST.in +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/NOTICE.txt +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/README.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/__init__.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/augmentation/__init__.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/augmentation/base.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/augmentation/functional.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/augmentation/transforms.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/__init__.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/base.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/bbci.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/bcicomp.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/bids/__init__.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/bids/datasets.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/bids/format.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/bids/hub.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/bids/hub_format.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/bids/hub_io.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/bids/hub_validation.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/bids/iterable.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/chb_mit.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/collate.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/mne.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/moabb.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/nmt.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/registry.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/siena.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/sleep_physionet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/tuh.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/utils.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/xy.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datautil/__init__.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datautil/channel_utils.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datautil/hub_formats.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datautil/serialization.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datautil/util.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/functional/__init__.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/functional/functions.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/functional/initialization.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/atcnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/attentionbasenet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/attn_sleep.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/base.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/bendr.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/biot.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/brainmodule.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/cbramod.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/codebrain.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/contrawr.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/ctnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/deep4.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/deepsleepnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/dgcnn.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegconformer.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegdino.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eeginception_erp.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eeginception_mi.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegitnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegminer.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegnex.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegpt.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegsimpleconv.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegsym.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegtcnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/emg2qwerty.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/fbcnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/fblightconvnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/fbmsnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/hybrid.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/ifnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/interpolated.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/labram.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/luna.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/medformer.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/meta_neuromotor.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/msvtnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/mvpformer.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/patchedtransformer.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/sccnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/shallow_fbcsp.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/signal_jepa.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/sinc_shallow.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/sparcnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/sstdpn.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/steegformer.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/summary.csv +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/syncnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/tcformer.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/tcn.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/tidnet.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/tsinception.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/usleep.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/__init__.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/activation.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/attention.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/blocks.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/convolution.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/filter.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/interpolation.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/layers.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/linear.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/parametrization.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/stats.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/util.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/wrapper.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/preprocessing/__init__.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/preprocessing/eegprep_preprocess.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/preprocessing/mne_preprocess.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/preprocessing/preprocess.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/preprocessing/util.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/preprocessing/windowers.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/samplers/__init__.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/samplers/base.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/samplers/ssl.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/training/__init__.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/training/callbacks.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/training/losses.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/util.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/visualization/__init__.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/visualization/attribution.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/visualization/confusion_matrices.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/visualization/frequency.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/visualization/metrics.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/visualization/sanity.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/visualization/topology.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode.egg-info/SOURCES.txt +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode.egg-info/dependency_links.txt +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode.egg-info/requires.txt +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode.egg-info/top_level.txt +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/Makefile +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/_templates/autosummary/class.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/_templates/autosummary/function.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/api.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/cite.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/conf.py +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/help.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/install/install.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/install/install_pip.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/install/install_source.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/categorization/attention.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/categorization/channel.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/categorization/convolution.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/categorization/filterbank.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/categorization/gnn.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/categorization/interpretable.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/categorization/lbm.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/categorization/recurrent.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/categorization/spd.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/models_categorization.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/models_visualization.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/sg_execution_times.rst +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/pyproject.toml +0 -0
- {braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/setup.cfg +0 -0
{braindecode-1.7.0.dev174022531/braindecode.egg-info → braindecode-1.7.0.dev176045030}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: braindecode
|
|
3
|
-
Version: 1.7.0.
|
|
3
|
+
Version: 1.7.0.dev176045030
|
|
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>
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
# Lukas Gemein <l.gemein@gmail.com>
|
|
4
4
|
# Bruno Aristimunha <b.aristimunha@gmail.com>
|
|
5
5
|
# Pierre Guetschel <pierre.guetschel@gmail.com>
|
|
6
|
+
# Sarthak Tayal <sarthaktayal2@gmail.com>
|
|
6
7
|
#
|
|
7
8
|
# License: BSD (3-clause)
|
|
8
9
|
|
|
@@ -195,9 +196,7 @@ class EEGClassifier(_EEGNeuralNet, NeuralNetClassifier):
|
|
|
195
196
|
return self.predict_proba(X).argmax(1)
|
|
196
197
|
|
|
197
198
|
def predict_trials(self, X, return_targets=True):
|
|
198
|
-
"""Create trialwise predictions
|
|
199
|
-
|
|
200
|
-
labels from cropped dataset.
|
|
199
|
+
"""Create trialwise predictions from a cropped dataset.
|
|
201
200
|
|
|
202
201
|
Parameters
|
|
203
202
|
----------
|
|
@@ -212,10 +211,11 @@ class EEGClassifier(_EEGNeuralNet, NeuralNetClassifier):
|
|
|
212
211
|
3-dimensional array (n_trials x n_classes x n_predictions), where
|
|
213
212
|
the number of predictions depend on the chosen window size and the
|
|
214
213
|
receptive field of the network.
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
214
|
+
trial_targets : np.ndarray
|
|
215
|
+
Ground-truth targets from the dataset in a 2-dimensional array
|
|
216
|
+
(n_trials x n_targets). Only returned when ``return_targets=True``.
|
|
217
|
+
The number of targets depends on the decoding paradigm and can be
|
|
218
|
+
either a single value, multiple values, or a sequence.
|
|
219
219
|
"""
|
|
220
220
|
if not self.cropped:
|
|
221
221
|
warnings.warn(
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/eegneuralnet.py
RENAMED
|
@@ -8,7 +8,7 @@ import abc
|
|
|
8
8
|
import inspect
|
|
9
9
|
import logging
|
|
10
10
|
import warnings
|
|
11
|
-
from typing import Literal
|
|
11
|
+
from typing import Any, Literal
|
|
12
12
|
|
|
13
13
|
import mne
|
|
14
14
|
import numpy as np
|
|
@@ -20,7 +20,7 @@ from skorch.utils import noop, to_numpy, train_loss_score, valid_loss_score
|
|
|
20
20
|
|
|
21
21
|
from braindecode.datautil import infer_signal_properties
|
|
22
22
|
|
|
23
|
-
from .models.util import
|
|
23
|
+
from .models.util import _get_model_class
|
|
24
24
|
from .training.scoring import (
|
|
25
25
|
CroppedTimeSeriesEpochScoring,
|
|
26
26
|
CroppedTrialEpochScoring,
|
|
@@ -30,13 +30,10 @@ from .training.scoring import (
|
|
|
30
30
|
log = logging.getLogger(__name__)
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
def _get_model(model:
|
|
33
|
+
def _get_model(model: Any) -> Any:
|
|
34
34
|
"""Returns the corresponding class in case the model passed is a string."""
|
|
35
35
|
if isinstance(model, str):
|
|
36
|
-
|
|
37
|
-
model = models_dict[model]
|
|
38
|
-
else:
|
|
39
|
-
raise ValueError(f"Unknown model name {model!r}.")
|
|
36
|
+
model = _get_model_class(model)
|
|
40
37
|
return model
|
|
41
38
|
|
|
42
39
|
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/__init__.py
RENAMED
|
@@ -66,6 +66,7 @@ from .util import (
|
|
|
66
66
|
_init_models_dict,
|
|
67
67
|
build_model_config,
|
|
68
68
|
extract_channel_locations_from_chs_info,
|
|
69
|
+
interpolated_models_dict,
|
|
69
70
|
models_mandatory_parameters,
|
|
70
71
|
positions_from_chs_info,
|
|
71
72
|
)
|
|
@@ -145,4 +146,5 @@ __all__ = [
|
|
|
145
146
|
"build_model_config",
|
|
146
147
|
"_init_models_dict",
|
|
147
148
|
"models_mandatory_parameters",
|
|
149
|
+
"interpolated_models_dict",
|
|
148
150
|
]
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/config.py
RENAMED
|
@@ -11,7 +11,9 @@ from typing_extensions import TypedDict
|
|
|
11
11
|
from braindecode.models.base import EEGModuleMixin
|
|
12
12
|
from braindecode.models.util import (
|
|
13
13
|
SigArgName,
|
|
14
|
+
_get_model_class,
|
|
14
15
|
_init_models_dict,
|
|
16
|
+
interpolated_models_dict,
|
|
15
17
|
models_dict,
|
|
16
18
|
models_mandatory_parameters,
|
|
17
19
|
)
|
|
@@ -65,9 +67,7 @@ class BaseBraindecodeModelConfig(pydantic.BaseModel):
|
|
|
65
67
|
"""Base class for braindecode model pydantic configs."""
|
|
66
68
|
|
|
67
69
|
def create_instance(self) -> EEGModuleMixin:
|
|
68
|
-
|
|
69
|
-
_init_models_dict()
|
|
70
|
-
model_cls = models_dict[self.model_name_]
|
|
70
|
+
model_cls = _get_model_class(self.model_name_)
|
|
71
71
|
kwargs = self.model_dump(mode="python", exclude={"model_name_"})
|
|
72
72
|
if kwargs.get("n_chans") is not None and kwargs.get("chs_info") is not None:
|
|
73
73
|
kwargs.pop("n_chans")
|
|
@@ -208,12 +208,12 @@ def make_model_config(
|
|
|
208
208
|
# and define __all__ based on generated classes
|
|
209
209
|
__all__ = ["make_model_config"]
|
|
210
210
|
|
|
211
|
-
if not models_dict:
|
|
211
|
+
if not models_dict and not interpolated_models_dict:
|
|
212
212
|
_init_models_dict()
|
|
213
213
|
|
|
214
214
|
models_configs: list[type[BaseBraindecodeModelConfig]] = []
|
|
215
215
|
for model_name, req, _ in models_mandatory_parameters:
|
|
216
|
-
model_cls =
|
|
216
|
+
model_cls = _get_model_class(model_name)
|
|
217
217
|
model_cfg = make_model_config(model_cls, req)
|
|
218
218
|
globals()[model_cfg.__name__] = model_cfg
|
|
219
219
|
__all__.append(model_cfg.__name__)
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/reve.py
RENAMED
|
@@ -8,13 +8,13 @@ import json
|
|
|
8
8
|
import logging
|
|
9
9
|
import math
|
|
10
10
|
import os
|
|
11
|
-
from pathlib import Path
|
|
12
11
|
from typing import Optional, Union
|
|
13
12
|
|
|
14
|
-
import
|
|
13
|
+
import pooch
|
|
15
14
|
import torch
|
|
16
15
|
import torch.nn.functional as F
|
|
17
16
|
from einops import rearrange
|
|
17
|
+
from mne.datasets.utils import _get_path
|
|
18
18
|
from torch import nn
|
|
19
19
|
|
|
20
20
|
# Safe import for older PyTorch versions (Support for Intel-based Macs)
|
|
@@ -785,10 +785,13 @@ class FourierEmb4D(nn.Module):
|
|
|
785
785
|
class RevePositionBank(torch.nn.Module):
|
|
786
786
|
"""Position bank for REVE model that maps standard EEG channel names to 3D coordinates.
|
|
787
787
|
|
|
788
|
-
The position bank is cached locally in the library root to avoid repeated downloads.
|
|
789
|
-
|
|
790
788
|
The coordinates come from the 92 datasets used during REVE pretraining.
|
|
791
789
|
|
|
790
|
+
The bank is cached in the MNE data directory after the first download, so it
|
|
791
|
+
works offline afterwards. On restricted nodes (e.g. HPC compute nodes without
|
|
792
|
+
a proxy), drop a prefetched ``reve_positions.json`` in that directory and no
|
|
793
|
+
download is attempted.
|
|
794
|
+
|
|
792
795
|
Parameters
|
|
793
796
|
----------
|
|
794
797
|
url : str, optional
|
|
@@ -796,7 +799,9 @@ class RevePositionBank(torch.nn.Module):
|
|
|
796
799
|
timeout : int, optional
|
|
797
800
|
Timeout in seconds for the HTTP request. Default is 5 seconds.
|
|
798
801
|
cache_dir : str, optional
|
|
799
|
-
Directory to cache the position bank.
|
|
802
|
+
Directory to cache the position bank. If ``None``, resolved like other
|
|
803
|
+
braindecode datasets via the ``REVE_POSITIONS_PATH`` config key, falling
|
|
804
|
+
back to the MNE data directory (usually ``~/mne_data``).
|
|
800
805
|
"""
|
|
801
806
|
|
|
802
807
|
def __init__(
|
|
@@ -807,38 +812,32 @@ class RevePositionBank(torch.nn.Module):
|
|
|
807
812
|
):
|
|
808
813
|
super().__init__()
|
|
809
814
|
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
cache_dir = str(Path(__file__).parent)
|
|
813
|
-
|
|
814
|
-
cache_file = os.path.join(cache_dir, ".cache", "reve_positions.json")
|
|
815
|
-
os.makedirs(os.path.dirname(cache_file), exist_ok=True)
|
|
816
|
-
|
|
817
|
-
config = None
|
|
815
|
+
cache_dir = _get_path(cache_dir, "REVE_POSITIONS_PATH", "REVE positions")
|
|
816
|
+
cache_file = os.path.join(cache_dir, "reve_positions.json")
|
|
818
817
|
|
|
819
|
-
#
|
|
820
|
-
if
|
|
818
|
+
# Offline path: reuse the cached/prefetched file. Download only on a miss
|
|
819
|
+
# or if the cached copy is unreadable (e.g. an interrupted download).
|
|
820
|
+
try:
|
|
821
|
+
with open(cache_file) as f:
|
|
822
|
+
config = json.load(f)
|
|
823
|
+
except (OSError, json.JSONDecodeError):
|
|
821
824
|
try:
|
|
822
|
-
|
|
825
|
+
if os.path.exists(cache_file):
|
|
826
|
+
os.remove(cache_file) # corrupt/partial; force a fresh copy
|
|
827
|
+
# pooch ships with mne and writes straight into the cache dir.
|
|
828
|
+
pooch.retrieve(
|
|
829
|
+
url,
|
|
830
|
+
known_hash=None,
|
|
831
|
+
fname="reve_positions.json",
|
|
832
|
+
path=cache_dir,
|
|
833
|
+
downloader=pooch.HTTPDownloader(timeout=timeout),
|
|
834
|
+
)
|
|
835
|
+
with open(cache_file) as f:
|
|
823
836
|
config = json.load(f)
|
|
824
|
-
|
|
825
|
-
except (json.JSONDecodeError, IOError) as e:
|
|
826
|
-
logger.warning(f"Failed to load cache, downloading: {e}")
|
|
827
|
-
|
|
828
|
-
# Download if cache miss or failed to load
|
|
829
|
-
if config is None:
|
|
830
|
-
try:
|
|
831
|
-
response = requests.get(url, timeout=timeout)
|
|
832
|
-
response.raise_for_status()
|
|
833
|
-
config = json.loads(response.text)
|
|
834
|
-
|
|
835
|
-
# Save to cache
|
|
836
|
-
with open(cache_file, "w") as f:
|
|
837
|
-
json.dump(config, f)
|
|
838
|
-
logger.info(f"Downloaded and cached position bank to: {cache_file}")
|
|
839
|
-
except (requests.RequestException, json.JSONDecodeError) as e:
|
|
837
|
+
except Exception as e:
|
|
840
838
|
raise RuntimeError(
|
|
841
|
-
f"Failed to download
|
|
839
|
+
f"Failed to download the position bank from {url}. On an "
|
|
840
|
+
f"offline node, prefetch it to {cache_file} first: {e}"
|
|
842
841
|
) from e
|
|
843
842
|
|
|
844
843
|
try:
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/util.py
RENAMED
|
@@ -16,6 +16,12 @@ import torch # noqa: F401 # exposed so TorchScript can resolve ``torch`` throu
|
|
|
16
16
|
from torch import nn
|
|
17
17
|
|
|
18
18
|
models_dict = {}
|
|
19
|
+
# Interpolated models are channel-interpolating wrappers around existing
|
|
20
|
+
# braindecode backbones (see :func:`braindecode.models.InterpolatedModel`).
|
|
21
|
+
# They are derivatives of existing models rather than standalone
|
|
22
|
+
# architectures, so they are kept in a separate registry to avoid polluting
|
|
23
|
+
# ``models_dict`` (e.g. for benchmarking that iterates over all "real" models).
|
|
24
|
+
interpolated_models_dict = {}
|
|
19
25
|
|
|
20
26
|
_IMPORT_ADAPTER = pydantic.TypeAdapter(pydantic.ImportString)
|
|
21
27
|
|
|
@@ -189,7 +195,45 @@ def _init_models_dict():
|
|
|
189
195
|
issubclass(m[1], models.base.EEGModuleMixin)
|
|
190
196
|
and m[1] != models.base.EEGModuleMixin
|
|
191
197
|
):
|
|
192
|
-
|
|
198
|
+
# Interpolated models are wrappers around existing backbones
|
|
199
|
+
# (identified by the ``_TARGET_CHS_INFO`` class attribute set by
|
|
200
|
+
# :func:`braindecode.models.InterpolatedModel`). Keep them in a
|
|
201
|
+
# dedicated registry instead of ``models_dict``.
|
|
202
|
+
if getattr(m[1], "_TARGET_CHS_INFO", None) is not None:
|
|
203
|
+
interpolated_models_dict[m[0]] = m[1]
|
|
204
|
+
else:
|
|
205
|
+
models_dict[m[0]] = m[1]
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
def _get_model_class(model_name: str):
|
|
209
|
+
"""Return the model class registered under ``model_name``.
|
|
210
|
+
|
|
211
|
+
Searches both the standard :data:`models_dict` and the
|
|
212
|
+
:data:`interpolated_models_dict` so that interpolated models remain
|
|
213
|
+
resolvable by name (e.g. for skorch wrappers and pydantic configs).
|
|
214
|
+
|
|
215
|
+
Parameters
|
|
216
|
+
----------
|
|
217
|
+
model_name : str
|
|
218
|
+
Name of the model class to retrieve.
|
|
219
|
+
|
|
220
|
+
Returns
|
|
221
|
+
-------
|
|
222
|
+
type
|
|
223
|
+
The model class registered under ``model_name``.
|
|
224
|
+
|
|
225
|
+
Raises
|
|
226
|
+
------
|
|
227
|
+
ValueError
|
|
228
|
+
If ``model_name`` is not found in either registry.
|
|
229
|
+
"""
|
|
230
|
+
if not models_dict and not interpolated_models_dict:
|
|
231
|
+
_init_models_dict()
|
|
232
|
+
if model_name in models_dict:
|
|
233
|
+
return models_dict[model_name]
|
|
234
|
+
if model_name in interpolated_models_dict:
|
|
235
|
+
return interpolated_models_dict[model_name]
|
|
236
|
+
raise ValueError(f"Unknown model name {model_name!r}.")
|
|
193
237
|
|
|
194
238
|
|
|
195
239
|
# Keep in sync with _EEG_PARAMS above.
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
# Lukas Gemein <l.gemein@gmail.com>
|
|
4
4
|
# Bruno Aristimunha <b.aristimunha@gmail.com>
|
|
5
5
|
# Pierre Guetschel <pierre.guetschel@gmail.com>
|
|
6
|
+
# Sarthak Tayal <sarthaktayal2@gmail.com>
|
|
6
7
|
#
|
|
7
8
|
# License: BSD (3-clause)
|
|
8
9
|
|
|
@@ -139,9 +140,7 @@ class EEGRegressor(_EEGNeuralNet, NeuralNetRegressor):
|
|
|
139
140
|
return y_pred
|
|
140
141
|
|
|
141
142
|
def predict_trials(self, X, return_targets=True):
|
|
142
|
-
"""Create trialwise predictions
|
|
143
|
-
|
|
144
|
-
labels from cropped dataset.
|
|
143
|
+
"""Create trialwise predictions from a cropped dataset.
|
|
145
144
|
|
|
146
145
|
Parameters
|
|
147
146
|
----------
|
|
@@ -156,10 +155,11 @@ class EEGRegressor(_EEGNeuralNet, NeuralNetRegressor):
|
|
|
156
155
|
3-dimensional array (n_trials x n_classes x n_predictions), where
|
|
157
156
|
the number of predictions depend on the chosen window size and the
|
|
158
157
|
receptive field of the network.
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
158
|
+
trial_targets : np.ndarray
|
|
159
|
+
Ground-truth targets from the dataset in a 2-dimensional array
|
|
160
|
+
(n_trials x n_targets). Only returned when ``return_targets=True``.
|
|
161
|
+
The number of targets depends on the decoding paradigm and can be
|
|
162
|
+
either a single value, multiple values, or a sequence.
|
|
163
163
|
"""
|
|
164
164
|
if not self.cropped:
|
|
165
165
|
warnings.warn(
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/training/scoring.py
RENAMED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
# Alexandre Gramfort <alexandre.gramfort@inria.fr>
|
|
4
4
|
# Lukas Gemein <l.gemein@gmail.com>
|
|
5
5
|
# Mohammed Fattouh <mo.fattouh@gmail.com>
|
|
6
|
+
# Sarthak Tayal <sarthaktayal2@gmail.com>
|
|
6
7
|
#
|
|
7
8
|
# License: BSD-3
|
|
8
9
|
|
|
@@ -401,7 +402,7 @@ class PostEpochTrainScoring(EpochScoring):
|
|
|
401
402
|
|
|
402
403
|
def predict_trials(module, dataset, return_targets=True, batch_size=1, num_workers=0):
|
|
403
404
|
"""Create trialwise predictions and optionally also return trialwise
|
|
404
|
-
|
|
405
|
+
targets from a cropped dataset given a module.
|
|
405
406
|
|
|
406
407
|
Parameters
|
|
407
408
|
----------
|
|
@@ -422,10 +423,11 @@ def predict_trials(module, dataset, return_targets=True, batch_size=1, num_worke
|
|
|
422
423
|
3-dimensional array (n_trials x n_classes x n_predictions), where
|
|
423
424
|
the number of predictions depend on the chosen window size and the
|
|
424
425
|
receptive field of the network.
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
426
|
+
trial_targets: np.ndarray
|
|
427
|
+
Ground-truth targets from the dataset in a 2-dimensional array
|
|
428
|
+
(n_trials x n_targets). Only returned when ``return_targets=True``.
|
|
429
|
+
The number of targets depends on the decoding paradigm and can be
|
|
430
|
+
either a single value, multiple values, or a sequence.
|
|
429
431
|
"""
|
|
430
432
|
# Ensure the model is in evaluation mode
|
|
431
433
|
module.eval()
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.7.0.dev176045030"
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030/braindecode.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: braindecode
|
|
3
|
-
Version: 1.7.0.
|
|
3
|
+
Version: 1.7.0.dev176045030
|
|
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>
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
<div class="container bd-facts-inner">
|
|
162
162
|
<span class="bd-facts-label">By the numbers</span>
|
|
163
163
|
<div class="bd-facts-row">
|
|
164
|
-
<a href="models/
|
|
164
|
+
<a href="models/models_table.html"><b>65+</b> models</a>
|
|
165
165
|
<a href="api.html#augmentation"><b>20+</b> augmentations</a>
|
|
166
166
|
<a href="https://moabb.neurotechx.com/" target="_blank" rel="noopener"><b>150+</b> datasets <span style="color:var(--bd-muted)">via MOABB</span></a>
|
|
167
167
|
<a href="https://eegdash.org/" target="_blank" rel="noopener"><b>700+</b> datasets <span style="color:var(--bd-muted)">via EEGDash</span></a>
|
|
@@ -224,7 +224,7 @@
|
|
|
224
224
|
<p class="section-sub">Built to <strong>plug into the EEG ecosystem you already use</strong>: every <a href="https://moabb.neurotechx.com/" target="_blank" rel="noopener">MOABB</a> dataset, every <a href="https://mne.tools/" target="_blank" rel="noopener">MNE-Python</a> preprocessing function, every <a href="https://scikit-learn.org/" target="_blank" rel="noopener">scikit-learn</a> training loop, plus 700+ BIDS datasets via <a href="https://eegdash.org/" target="_blank" rel="noopener">EEGDash</a>. One library, no lock-in.</p>
|
|
225
225
|
</div>
|
|
226
226
|
<div class="feature-grid">
|
|
227
|
-
<a href="models/
|
|
227
|
+
<a href="models/models_table.html" class="feature-card">
|
|
228
228
|
<span class="feature-icon"><svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12c2-4 4-4 6 0s4 4 6 0 4-4 6 0 4 4 2 0"/></svg></span>
|
|
229
229
|
<h3>Decode raw electrophysiology</h3>
|
|
230
230
|
<p>End-to-end models go straight from raw EEG/ECoG/MEG to predictions. No hand-crafted features required.</p>
|
|
@@ -248,7 +248,7 @@
|
|
|
248
248
|
<p>Fully compatible with every <a class="feature-inline-link" href="https://mne.tools/" target="_blank" rel="noopener">MNE</a> preprocessing function and with <a class="feature-inline-link" href="https://eegprep.org/" target="_blank" rel="noopener">EEGPrep</a>, plus exponential standardization and 20+ EEG augmentations.</p>
|
|
249
249
|
<a href="api.html#augmentation" class="feature-link">Augmentation <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></a>
|
|
250
250
|
</div>
|
|
251
|
-
<a href="models/
|
|
251
|
+
<a href="models/models_table.html" class="feature-card">
|
|
252
252
|
<span class="feature-icon"><svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="6" r="2"/><circle cx="6" cy="18" r="2"/><circle cx="18" cy="12" r="2"/><path d="M8 6h2a3 3 0 0 1 3 3v0a3 3 0 0 0 3 3M8 18h2a3 3 0 0 0 3-3v0a3 3 0 0 1 3-3"/></svg></span>
|
|
253
253
|
<h3>Curated model zoo</h3>
|
|
254
254
|
<p>EEGNeX, ConvNets, ATCNet, EEGConformer, foundation models. 60+ architectures reproduced from the original papers.</p>
|
|
@@ -359,7 +359,7 @@
|
|
|
359
359
|
<div class="zoo-grid"><!-- populated by landing.js --></div>
|
|
360
360
|
<div class="zoo-foot">
|
|
361
361
|
<span class="zoo-foot-count">Loading…</span>
|
|
362
|
-
<a href="models/
|
|
362
|
+
<a href="models/models_table.html">Browse the full zoo on the Models table <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M13 5l7 7-7 7"/></svg></a>
|
|
363
363
|
</div>
|
|
364
364
|
</div>
|
|
365
365
|
</section>
|
|
@@ -521,7 +521,7 @@
|
|
|
521
521
|
<span class="pipeline-col-name">Modeling</span>
|
|
522
522
|
</div>
|
|
523
523
|
<div class="pipeline-col-cards">
|
|
524
|
-
<a class="pipeline-card" href="models/
|
|
524
|
+
<a class="pipeline-card" href="models/models_table.html">
|
|
525
525
|
<span class="pipeline-card-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="6" r="2"/><circle cx="6" cy="18" r="2"/><circle cx="18" cy="12" r="2"/><path d="M8 6h2a3 3 0 0 1 3 3v0a3 3 0 0 0 3 3M8 18h2a3 3 0 0 0 3-3v0a3 3 0 0 1 3-3"/></svg></span>
|
|
526
526
|
<span class="pipeline-card-text">
|
|
527
527
|
<span class="pipeline-card-name">braindecode.models</span>
|
|
@@ -679,7 +679,7 @@
|
|
|
679
679
|
<ul>
|
|
680
680
|
<li><a href="install/install.html">Install</a></li>
|
|
681
681
|
<li><a href="auto_examples/index.html">Tutorials</a></li>
|
|
682
|
-
<li><a href="models/
|
|
682
|
+
<li><a href="models/models_table.html">Models</a></li>
|
|
683
683
|
<li><a href="api.html">API reference</a></li>
|
|
684
684
|
</ul>
|
|
685
685
|
</div>
|
|
@@ -68,12 +68,12 @@ With this, in this model's sub-pages, we provide:
|
|
|
68
68
|
- 4. :doc:`A visualization of the common important information from the models
|
|
69
69
|
<models_visualization>`.
|
|
70
70
|
|
|
71
|
-
.. button-ref::
|
|
71
|
+
.. button-ref:: models_table
|
|
72
72
|
:ref-type: doc
|
|
73
73
|
:color: primary
|
|
74
74
|
:expand:
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
Browse the models table →
|
|
77
77
|
|
|
78
78
|
.. rubric:: References
|
|
79
79
|
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/models_table.rst
RENAMED
|
@@ -191,6 +191,15 @@ Braindecode.
|
|
|
191
191
|
// Initial color pass
|
|
192
192
|
applyTagPalette(document);
|
|
193
193
|
|
|
194
|
+
function applyInitialModelFilter() {
|
|
195
|
+
var model = new URLSearchParams(window.location.search).get('model');
|
|
196
|
+
if (!model) return;
|
|
197
|
+
table.search(model).draw();
|
|
198
|
+
$(table.table().container()).find('div.dataTables_filter input').val(model);
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
applyInitialModelFilter();
|
|
202
|
+
|
|
194
203
|
/* --- Bonus UX: click a column header to open panes focused there ----- */
|
|
195
204
|
$('.sortable thead th').each(function (i) {
|
|
196
205
|
if (!FILTER_COLS.includes(i)) return;
|
|
@@ -28,12 +28,18 @@ Current 1.7.0 (GitHub)
|
|
|
28
28
|
Enhancements
|
|
29
29
|
============
|
|
30
30
|
|
|
31
|
-
-
|
|
31
|
+
- Add :data:`braindecode.models.util.interpolated_models_dict`, a dedicated
|
|
32
|
+
registry for the interpolated (channel-adapting) models, keeping them separate
|
|
33
|
+
from :data:`braindecode.models.util.models_dict` (:gh:`1093` by `Bruno Aristimunha`_)
|
|
32
34
|
|
|
33
35
|
API and behavior changes
|
|
34
36
|
========================
|
|
35
37
|
|
|
36
|
-
-
|
|
38
|
+
- Interpolated models (e.g. ``InterpolatedBIOT``, ``InterpolatedLaBraM``) are no
|
|
39
|
+
longer included in :data:`braindecode.models.util.models_dict`; they now live
|
|
40
|
+
in the separate :data:`braindecode.models.util.interpolated_models_dict`
|
|
41
|
+
registry. They remain fully usable and resolvable by name in the skorch
|
|
42
|
+
wrappers and pydantic configs (:gh:`1093` by `Bruno Aristimunha`_)
|
|
37
43
|
|
|
38
44
|
Requirements
|
|
39
45
|
============
|
|
@@ -43,7 +49,16 @@ Requirements
|
|
|
43
49
|
Bug fixes
|
|
44
50
|
==========
|
|
45
51
|
|
|
46
|
-
-
|
|
52
|
+
- Clarify that :func:`braindecode.training.scoring.predict_trials`,
|
|
53
|
+
:meth:`braindecode.EEGClassifier.predict_trials`, and
|
|
54
|
+
:meth:`braindecode.EEGRegressor.predict_trials` return ground-truth dataset
|
|
55
|
+
targets alongside predictions. By `Sarthak Tayal`_.
|
|
56
|
+
- Make the :class:`braindecode.models.REVE` position bank robust on offline /
|
|
57
|
+
limited-network nodes: it is now cached in the writable MNE data directory
|
|
58
|
+
(resolved via the ``REVE_POSITIONS_PATH`` config key, defaulting under
|
|
59
|
+
``~/mne_data``) instead of the package folder, so a prefetched
|
|
60
|
+
``reve_positions.json`` there is used without any download (:gh:`1098` by
|
|
61
|
+
`Bruno Aristimunha`_)
|
|
47
62
|
|
|
48
63
|
Code health
|
|
49
64
|
============
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.7.0.dev174022531"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/augmentation/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/__init__.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/base.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/bbci.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/bcicomp.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/bids/hub.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/chb_mit.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/collate.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/mne.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/moabb.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/nmt.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/registry.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/siena.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/tuh.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/utils.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datasets/xy.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datautil/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/datautil/util.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/functional/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/atcnet.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/attn_sleep.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/base.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/bendr.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/biot.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/brainmodule.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/cbramod.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/codebrain.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/contrawr.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/ctnet.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/deep4.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/deepsleepnet.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/dgcnn.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegconformer.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegdino.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegitnet.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegminer.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegnet.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegnex.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegpt.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegsym.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/eegtcnet.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/emg2qwerty.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/fbcnet.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/fbmsnet.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/hybrid.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/ifnet.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/interpolated.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/labram.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/luna.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/medformer.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/msvtnet.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/mvpformer.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/sccnet.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/signal_jepa.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/sinc_shallow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/sparcnet.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/sstdpn.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/steegformer.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/summary.csv
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/syncnet.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/tcformer.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/tidnet.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/tsinception.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/models/usleep.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/__init__.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/activation.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/attention.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/blocks.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/convolution.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/filter.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/layers.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/linear.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/stats.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/util.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/modules/wrapper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/preprocessing/util.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/samplers/__init__.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/samplers/base.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/samplers/ssl.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/training/__init__.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/training/callbacks.py
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode/training/losses.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode.egg-info/requires.txt
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/braindecode.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/install/install_pip.rst
RENAMED
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/install/install_source.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/categorization/gnn.rst
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/categorization/lbm.rst
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/models/categorization/spd.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.7.0.dev174022531 → braindecode-1.7.0.dev176045030}/docs/sg_execution_times.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|