braindecode 1.8.1.dev172484635__tar.gz → 1.8.1.dev172569382__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.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/NOTICE.txt +16 -2
- {braindecode-1.8.1.dev172484635/braindecode.egg-info → braindecode-1.8.1.dev172569382}/PKG-INFO +1 -1
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/classifier.py +6 -5
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/eegneuralnet.py +1 -1
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/functional/__init__.py +2 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/functional/functions.py +41 -6
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/__init__.py +29 -14
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/attn_sleep.py +0 -4
- braindecode-1.8.1.dev172569382/braindecode/models/axon.py +516 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/barista.py +4 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/base.py +92 -4
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/bendr.py +45 -58
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/biot.py +34 -61
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/brainbert.py +10 -11
- braindecode-1.8.1.dev172569382/braindecode/models/brainomni.py +917 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/brant.py +12 -10
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/cbramod.py +47 -11
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/codebrain.py +26 -16
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/config.py +1 -2
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/contrawr.py +4 -4
- braindecode-1.8.1.dev172569382/braindecode/models/csbrain.py +713 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/deep4.py +27 -12
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/dgcnn.py +3 -1
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/diver1.py +8 -5
- braindecode-1.8.1.dev172569382/braindecode/models/eeg_clip.py +307 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/eegdino.py +24 -13
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/eegpt.py +19 -29
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/eegsym.py +17 -7
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/emg2qwerty.py +19 -2
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/labram.py +202 -165
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/luna.py +42 -10
- braindecode-1.8.1.dev172569382/braindecode/models/mapa.py +862 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/meta_neuromotor.py +25 -2
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/mirepnet.py +16 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/mvpformer.py +6 -1
- braindecode-1.8.1.dev172569382/braindecode/models/neurorvq.py +590 -0
- braindecode-1.8.1.dev172569382/braindecode/models/neurorvq_tokenizer.py +582 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/popt.py +4 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/reve.py +9 -1
- braindecode-1.8.1.dev172569382/braindecode/models/seizure_transformer.py +407 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/sensingdynamics.py +10 -5
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/shallow_fbcsp.py +15 -8
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/signal_jepa.py +31 -20
- braindecode-1.8.1.dev172569382/braindecode/models/sleepfm.py +785 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/steegformer.py +4 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/summary.csv +13 -5
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/syncnet.py +2 -2
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/tcformer.py +6 -5
- braindecode-1.8.1.dev172569382/braindecode/models/tfm_tokenizer.py +416 -0
- braindecode-1.8.1.dev172569382/braindecode/models/tmsanet.py +233 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/util.py +176 -55
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/zuna.py +21 -12
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/modules/__init__.py +6 -2
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/modules/blocks.py +18 -5
- braindecode-1.8.1.dev172569382/braindecode/modules/channels.py +459 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/modules/convolution.py +10 -9
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/modules/filter.py +22 -30
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/modules/layers.py +4 -2
- braindecode-1.8.1.dev172569382/braindecode/modules/quantization.py +408 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/modules/stats.py +6 -1
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/regressor.py +6 -5
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/training/scoring.py +6 -5
- braindecode-1.8.1.dev172569382/braindecode/version.py +1 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/visualization/topology.py +1 -1
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382/braindecode.egg-info}/PKG-INFO +1 -1
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode.egg-info/SOURCES.txt +15 -3
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/api.rst +39 -7
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/index.rst +1 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/models/models_categorization.rst +10 -3
- braindecode-1.8.1.dev172569382/docs/user_guide/channel_strategies.rst +59 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/whats_new.rst +248 -1
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/pyproject.toml +3 -0
- braindecode-1.8.1.dev172484635/braindecode/models/interpolated.py +0 -185
- braindecode-1.8.1.dev172484635/braindecode/modules/interpolation.py +0 -201
- braindecode-1.8.1.dev172484635/braindecode/version.py +0 -1
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/LICENSE.txt +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/MANIFEST.in +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/README.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/__init__.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/augmentation/__init__.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/augmentation/base.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/augmentation/functional.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/augmentation/transforms.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/__init__.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/_notebook_viewer.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/base.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/bbci.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/bcicomp.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/bids/__init__.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/bids/datasets.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/bids/format.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/bids/hub.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/bids/hub_format.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/bids/hub_io.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/bids/hub_validation.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/bids/iterable.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/chb_mit.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/collate.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/mne.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/moabb.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/nmt.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/registry.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/siena.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/sleep_physionet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/tuh.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/utils.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datasets/xy.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datautil/__init__.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datautil/channel_utils.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datautil/hub_formats.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datautil/serialization.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/datautil/util.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/functional/_real_dft.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/functional/initialization.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/atcnet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/attentionbasenet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/brainmodule.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/ctnet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/dance.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/deepsleepnet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/eegconformer.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/eeginception_erp.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/eeginception_mi.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/eegitnet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/eegminer.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/eegnet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/eegnex.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/eegsimpleconv.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/eegtcnet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/fbcnet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/fblightconvnet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/fbmsnet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/hybrid.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/ifnet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/medformer.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/mscformer.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/msvtnet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/neuropose.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/patchedtransformer.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/sccnet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/sinc_shallow.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/sparcnet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/sstdpn.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/tcn.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/tidnet.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/tsinception.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/usleep.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/vemg2pose.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/modules/activation.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/modules/attention.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/modules/dance_modules.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/modules/linear.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/modules/parametrization.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/modules/popt_modules.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/modules/util.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/modules/wrapper.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/preprocessing/__init__.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/preprocessing/eegprep_preprocess.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/preprocessing/mne_preprocess.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/preprocessing/preprocess.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/preprocessing/util.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/preprocessing/windowers.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/samplers/__init__.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/samplers/base.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/samplers/ssl.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/training/__init__.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/training/callbacks.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/training/losses.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/util.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/visualization/__init__.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/visualization/activations.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/visualization/attribution.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/visualization/confusion_matrices.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/visualization/frequency.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/visualization/metrics.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/visualization/sanity.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode.egg-info/dependency_links.txt +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode.egg-info/requires.txt +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode.egg-info/top_level.txt +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/Makefile +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/_templates/autosummary/class.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/_templates/autosummary/function.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/agent_docs.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/cite.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/conf.py +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/help.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/install/install.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/install/install_pip.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/install/install_source.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/models/categorization/attention.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/models/categorization/channel.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/models/categorization/convolution.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/models/categorization/filterbank.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/models/categorization/gnn.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/models/categorization/interpretable.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/models/categorization/lbm.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/models/categorization/recurrent.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/models/categorization/spd.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/models/models.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/models/models_table.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/models/models_visualization.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/docs/sg_execution_times.rst +0 -0
- {braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/setup.cfg +0 -0
|
@@ -13,9 +13,10 @@ The following components are licensed under the Creative Commons Attribution-Non
|
|
|
13
13
|
|
|
14
14
|
- `braindecode/models/eegminer.py`
|
|
15
15
|
- `braindecode/models/meta_neuromotor.py`
|
|
16
|
+
- `braindecode/models/sleepfm.py`
|
|
16
17
|
- `braindecode/models/brainmodule.py`
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
- `braindecode/models/neurorvq.py`
|
|
19
|
+
- `braindecode/models/neurorvq_tokenizer.py`
|
|
19
20
|
|
|
20
21
|
The `meta_neuromotor.py` file is a derivative of
|
|
21
22
|
`facebookresearch/generic-neuromotor-interface`, released by Meta Platforms,
|
|
@@ -44,15 +45,28 @@ The following components are licensed under the MIT License:
|
|
|
44
45
|
- `braindecode/models/ifnet.py`
|
|
45
46
|
- `braindecode/models/mirepnet.py`
|
|
46
47
|
- `braindecode/models/popt.py`
|
|
48
|
+
- `braindecode/models/tfm_tokenizer.py`
|
|
47
49
|
- `braindecode/modules/popt_modules.py`
|
|
50
|
+
- `braindecode/models/brainomni.py`
|
|
51
|
+
- `braindecode/modules/quantization.py`
|
|
52
|
+
- `braindecode/models/seizure_transformer.py`
|
|
53
|
+
- `docs/_static/model/seizure_transformer_arch.png`
|
|
54
|
+
- `braindecode/models/tmsanet.py`
|
|
55
|
+
|
|
56
|
+
The `brainomni.py` file is a derivative of `OpenTSLab/BrainOmni` (MIT), whose
|
|
57
|
+
SEANet codec derives from Meta's `facebookresearch/encodec` (MIT). The
|
|
58
|
+
`quantization.py` module holds the residual vector quantization derived from
|
|
59
|
+
`lucidrains/vector-quantize-pytorch` (MIT) and the BrainOmni port.
|
|
48
60
|
|
|
49
61
|
### Apache-2.0 Licensed Files
|
|
50
62
|
|
|
51
63
|
The following components are licensed under the Apache License 2.0:
|
|
52
64
|
|
|
65
|
+
- `braindecode/models/axon.py`
|
|
53
66
|
- `braindecode/models/mvpformer.py`
|
|
54
67
|
- `braindecode/models/zuna.py`
|
|
55
68
|
- `braindecode/models/luna.py`
|
|
69
|
+
- `braindecode/models/mapa.py`
|
|
56
70
|
- `braindecode/models/brant.py`
|
|
57
71
|
- `braindecode/models/diver1.py`
|
|
58
72
|
- `braindecode/models/mscformer.py`
|
{braindecode-1.8.1.dev172484635/braindecode.egg-info → braindecode-1.8.1.dev172569382}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: braindecode
|
|
3
|
-
Version: 1.8.1.
|
|
3
|
+
Version: 1.8.1.dev172569382
|
|
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>
|
|
@@ -212,11 +212,12 @@ class EEGClassifier(_EEGNeuralNet, NeuralNetClassifier):
|
|
|
212
212
|
the number of predictions depend on the chosen window size and the
|
|
213
213
|
receptive field of the network. If trials have different lengths,
|
|
214
214
|
a list with one (n_classes x n_predictions) array per trial.
|
|
215
|
-
trial_targets : np.ndarray
|
|
216
|
-
Ground-truth targets from the dataset
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
215
|
+
trial_targets : np.ndarray | list of np.ndarray
|
|
216
|
+
Ground-truth targets from the dataset. Only returned when
|
|
217
|
+
``return_targets=True``. An ``np.ndarray`` with a leading trial
|
|
218
|
+
dimension: ``(n_trials,)`` for scalar targets, with further
|
|
219
|
+
dimensions for multi-value or equal-length sequence targets. If
|
|
220
|
+
trial lengths differ, a list with one target array per trial.
|
|
220
221
|
"""
|
|
221
222
|
if not self.cropped:
|
|
222
223
|
warnings.warn(
|
{braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/eegneuralnet.py
RENAMED
|
@@ -144,7 +144,7 @@ class _EEGNeuralNet(NeuralNet, abc.ABC):
|
|
|
144
144
|
i_window_in_trials.append(i[0].cpu().numpy())
|
|
145
145
|
i_window_stops.append(i[2].cpu().numpy())
|
|
146
146
|
with torch.no_grad():
|
|
147
|
-
preds.append(to_numpy(self.module_
|
|
147
|
+
preds.append(to_numpy(self.module_(X.to(self.device))))
|
|
148
148
|
window_ys.append(y.cpu().numpy())
|
|
149
149
|
preds = np.concatenate(preds)
|
|
150
150
|
i_window_in_trials = np.concatenate(i_window_in_trials)
|
{braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/functional/__init__.py
RENAMED
|
@@ -11,6 +11,7 @@ from .functions import (
|
|
|
11
11
|
rotate_pairs,
|
|
12
12
|
safe_log,
|
|
13
13
|
sinusoidal_positional_encoding,
|
|
14
|
+
spectral_input,
|
|
14
15
|
square,
|
|
15
16
|
wavelet_decomposition,
|
|
16
17
|
)
|
|
@@ -29,6 +30,7 @@ __all__ = [
|
|
|
29
30
|
"rotate_pairs",
|
|
30
31
|
"safe_log",
|
|
31
32
|
"sinusoidal_positional_encoding",
|
|
33
|
+
"spectral_input",
|
|
32
34
|
"square",
|
|
33
35
|
"wavelet_decomposition",
|
|
34
36
|
"glorot_weight_zero_bias",
|
|
@@ -28,6 +28,32 @@ def identity(x):
|
|
|
28
28
|
return x
|
|
29
29
|
|
|
30
30
|
|
|
31
|
+
def spectral_input(x: torch.Tensor) -> torch.Tensor:
|
|
32
|
+
"""Prepare ``x`` for an FFT, STFT or eigendecomposition.
|
|
33
|
+
|
|
34
|
+
PyTorch has no complex bfloat16 dtype: CPU and MPS FFTs reject
|
|
35
|
+
bfloat16/float16, and Intel Gaudi (HPU) has no complex tensors at all.
|
|
36
|
+
This returns ``x`` in at least float32, moved to the CPU when it lives on
|
|
37
|
+
an HPU; float32/float64 CPU/CUDA inputs are returned as they are. Cast a
|
|
38
|
+
real result back with ``.to(x)`` (the input's dtype and device)::
|
|
39
|
+
|
|
40
|
+
spectrum = torch.fft.rfft(spectral_input(x), dim=-1).abs().to(x)
|
|
41
|
+
|
|
42
|
+
Parameters
|
|
43
|
+
----------
|
|
44
|
+
x : torch.Tensor
|
|
45
|
+
Real input of the spectral operation.
|
|
46
|
+
|
|
47
|
+
Returns
|
|
48
|
+
-------
|
|
49
|
+
torch.Tensor
|
|
50
|
+
``x`` in ``promote_types(x.dtype, float32)``, on the CPU for HPU inputs.
|
|
51
|
+
"""
|
|
52
|
+
if x.device.type == "hpu":
|
|
53
|
+
x = x.cpu()
|
|
54
|
+
return x.to(torch.promote_types(x.dtype, torch.float32))
|
|
55
|
+
|
|
56
|
+
|
|
31
57
|
def drop_path(
|
|
32
58
|
x, drop_prob: float = 0.0, training: bool = False, scale_by_keep: bool = True
|
|
33
59
|
):
|
|
@@ -176,8 +202,7 @@ def hilbert_freq(x: torch.Tensor, forward_fourier: bool = True) -> torch.Tensor:
|
|
|
176
202
|
# the complex-valued part in float32 and restore the real-valued contract
|
|
177
203
|
# at the boundary. Promoting before the FFT also covers backends that do
|
|
178
204
|
# not implement bfloat16 FFT kernels.
|
|
179
|
-
|
|
180
|
-
x = x.float()
|
|
205
|
+
x = spectral_input(x)
|
|
181
206
|
|
|
182
207
|
if forward_fourier:
|
|
183
208
|
seq_len = x.shape[-1]
|
|
@@ -435,7 +460,12 @@ def wavelet_decomposition(
|
|
|
435
460
|
return out.reshape(*leading, -1)
|
|
436
461
|
|
|
437
462
|
|
|
438
|
-
def sinusoidal_positional_encoding(
|
|
463
|
+
def sinusoidal_positional_encoding(
|
|
464
|
+
n_positions: int,
|
|
465
|
+
dim: int,
|
|
466
|
+
device: torch.device | None = None,
|
|
467
|
+
dtype: torch.dtype = torch.float32,
|
|
468
|
+
) -> torch.Tensor:
|
|
439
469
|
r"""Fixed sine/cosine positional-encoding table of shape ``(n_positions, dim)``.
|
|
440
470
|
|
|
441
471
|
The standard encoding of Vaswani et al. (2017): for position :math:`p` and
|
|
@@ -452,6 +482,10 @@ def sinusoidal_positional_encoding(n_positions: int, dim: int) -> torch.Tensor:
|
|
|
452
482
|
Number of positions (sequence length) to encode.
|
|
453
483
|
dim : int
|
|
454
484
|
Embedding dimension of each position.
|
|
485
|
+
device : torch.device or None
|
|
486
|
+
Device of the table (default: CPU), for tables built inside ``forward``.
|
|
487
|
+
dtype : torch.dtype
|
|
488
|
+
Floating dtype the table is computed in.
|
|
455
489
|
|
|
456
490
|
Returns
|
|
457
491
|
-------
|
|
@@ -460,11 +494,12 @@ def sinusoidal_positional_encoding(n_positions: int, dim: int) -> torch.Tensor:
|
|
|
460
494
|
dropout, or offset.
|
|
461
495
|
"""
|
|
462
496
|
dim_even = dim + (dim % 2)
|
|
463
|
-
position = torch.arange(n_positions).unsqueeze(1).
|
|
497
|
+
position = torch.arange(n_positions, device=device).unsqueeze(1).to(dtype)
|
|
464
498
|
div_term = torch.exp(
|
|
465
|
-
torch.arange(0, dim_even, 2).
|
|
499
|
+
torch.arange(0, dim_even, 2, device=device).to(dtype)
|
|
500
|
+
* (-math.log(10000.0) / dim_even)
|
|
466
501
|
)
|
|
467
|
-
pe = torch.zeros(n_positions, dim_even)
|
|
502
|
+
pe = torch.zeros(n_positions, dim_even, device=device, dtype=dtype)
|
|
468
503
|
pe[:, 0::2] = torch.sin(position * div_term)
|
|
469
504
|
pe[:, 1::2] = torch.cos(position * div_term)
|
|
470
505
|
# ``.contiguous()`` so an odd-``dim`` truncation owns tight storage -- a
|
{braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/__init__.py
RENAMED
|
@@ -3,22 +3,26 @@
|
|
|
3
3
|
from .atcnet import ATCNet
|
|
4
4
|
from .attentionbasenet import AttentionBaseNet
|
|
5
5
|
from .attn_sleep import AttnSleep
|
|
6
|
+
from .axon import AXON
|
|
6
7
|
from .barista import BaRISTA
|
|
7
8
|
from .base import EEGModuleMixin
|
|
8
|
-
from .bendr import BENDR
|
|
9
|
-
from .biot import BIOT
|
|
9
|
+
from .bendr import BENDR
|
|
10
|
+
from .biot import BIOT
|
|
10
11
|
from .brainbert import BrainBERT
|
|
11
12
|
from .brainmodule import BrainModule
|
|
13
|
+
from .brainomni import BrainOmni, BrainTokenizer
|
|
12
14
|
from .brant import Brant
|
|
13
15
|
from .cbramod import CBraMod
|
|
14
16
|
from .codebrain import CodeBrain
|
|
15
17
|
from .contrawr import ContraWR
|
|
18
|
+
from .csbrain import CSBrain
|
|
16
19
|
from .ctnet import CTNet
|
|
17
20
|
from .dance import DANCE
|
|
18
21
|
from .deep4 import Deep4Net
|
|
19
22
|
from .deepsleepnet import DeepSleepNet
|
|
20
23
|
from .dgcnn import DGCNN
|
|
21
24
|
from .diver1 import DIVER1
|
|
25
|
+
from .eeg_clip import EEGCLIP
|
|
22
26
|
from .eegconformer import EEGConformer
|
|
23
27
|
from .eegdino import EEGDINO
|
|
24
28
|
from .eeginception_erp import EEGInceptionERP
|
|
@@ -27,7 +31,7 @@ from .eegitnet import EEGITNet
|
|
|
27
31
|
from .eegminer import EEGMiner
|
|
28
32
|
from .eegnet import EEGNet
|
|
29
33
|
from .eegnex import EEGNeX
|
|
30
|
-
from .eegpt import EEGPT
|
|
34
|
+
from .eegpt import EEGPT
|
|
31
35
|
from .eegsimpleconv import EEGSimpleConv
|
|
32
36
|
from .eegsym import EEGSym
|
|
33
37
|
from .eegtcnet import EEGTCNet
|
|
@@ -37,9 +41,9 @@ from .fblightconvnet import FBLightConvNet
|
|
|
37
41
|
from .fbmsnet import FBMSNet
|
|
38
42
|
from .hybrid import HybridNet
|
|
39
43
|
from .ifnet import IFNet
|
|
40
|
-
from .
|
|
41
|
-
from .labram import InterpolatedLaBraM, Labram
|
|
44
|
+
from .labram import Labram
|
|
42
45
|
from .luna import LUNA
|
|
46
|
+
from .mapa import MAPA
|
|
43
47
|
from .medformer import MEDFormer
|
|
44
48
|
from .meta_neuromotor import MetaNeuromotorHand
|
|
45
49
|
from .mirepnet import MIRepNet
|
|
@@ -47,14 +51,16 @@ from .mscformer import MSCFormer
|
|
|
47
51
|
from .msvtnet import MSVTNet
|
|
48
52
|
from .mvpformer import MVPFormer
|
|
49
53
|
from .neuropose import NeuroPose
|
|
54
|
+
from .neurorvq import NeuroRVQ
|
|
55
|
+
from .neurorvq_tokenizer import NeuroRVQTokenizer
|
|
50
56
|
from .patchedtransformer import PBT
|
|
51
57
|
from .popt import PopulationTransformer
|
|
52
58
|
from .reve import REVE
|
|
53
59
|
from .sccnet import SCCNet
|
|
60
|
+
from .seizure_transformer import SeizureTransformer
|
|
54
61
|
from .sensingdynamics import SensingDynamics
|
|
55
62
|
from .shallow_fbcsp import ShallowFBCSPNet
|
|
56
63
|
from .signal_jepa import (
|
|
57
|
-
InterpolatedSignalJEPA,
|
|
58
64
|
SignalJEPA,
|
|
59
65
|
SignalJEPA_Contextual,
|
|
60
66
|
SignalJEPA_PostLocal,
|
|
@@ -63,20 +69,22 @@ from .signal_jepa import (
|
|
|
63
69
|
from .sinc_shallow import SincShallowNet
|
|
64
70
|
from .sleep_stager_blanco_2020 import SleepStagerBlanco2020
|
|
65
71
|
from .sleep_stager_chambon_2018 import SleepStagerChambon2018
|
|
72
|
+
from .sleepfm import SleepFM, SleepFMStager
|
|
66
73
|
from .sparcnet import SPARCNet
|
|
67
74
|
from .sstdpn import SSTDPN
|
|
68
75
|
from .steegformer import STEEGFormer
|
|
69
76
|
from .syncnet import SyncNet
|
|
70
77
|
from .tcformer import TCFormer
|
|
71
78
|
from .tcn import BDTCN, TCN
|
|
79
|
+
from .tfm_tokenizer import TFMTokenizer, TFMTokenizerOutput
|
|
72
80
|
from .tidnet import TIDNet
|
|
81
|
+
from .tmsanet import TMSANet
|
|
73
82
|
from .tsinception import TSception
|
|
74
83
|
from .usleep import USleep
|
|
75
84
|
from .util import (
|
|
76
85
|
_init_models_dict,
|
|
77
86
|
build_model_config,
|
|
78
87
|
extract_channel_locations_from_chs_info,
|
|
79
|
-
interpolated_models_dict,
|
|
80
88
|
models_mandatory_parameters,
|
|
81
89
|
positions_from_chs_info,
|
|
82
90
|
)
|
|
@@ -89,6 +97,7 @@ _init_models_dict()
|
|
|
89
97
|
|
|
90
98
|
__all__ = [
|
|
91
99
|
"ATCNet",
|
|
100
|
+
"AXON",
|
|
92
101
|
"AttnSleep",
|
|
93
102
|
"AttentionBaseNet",
|
|
94
103
|
"BaRISTA",
|
|
@@ -96,9 +105,12 @@ __all__ = [
|
|
|
96
105
|
"BIOT",
|
|
97
106
|
"BENDR",
|
|
98
107
|
"BrainBERT",
|
|
108
|
+
"BrainOmni",
|
|
109
|
+
"BrainTokenizer",
|
|
99
110
|
"CBraMod",
|
|
100
111
|
"CodeBrain",
|
|
101
112
|
"ContraWR",
|
|
113
|
+
"CSBrain",
|
|
102
114
|
"CTNet",
|
|
103
115
|
"DANCE",
|
|
104
116
|
"Deep4Net",
|
|
@@ -106,10 +118,10 @@ __all__ = [
|
|
|
106
118
|
"DIVER1",
|
|
107
119
|
"BrainModule",
|
|
108
120
|
"Brant",
|
|
121
|
+
"EEGCLIP",
|
|
109
122
|
"EEGConformer",
|
|
110
123
|
"EEGDINO",
|
|
111
124
|
"EEGPT",
|
|
112
|
-
"InterpolatedEEGPT",
|
|
113
125
|
"EEGInceptionERP",
|
|
114
126
|
"EEGInceptionMI",
|
|
115
127
|
"EEGITNet",
|
|
@@ -130,24 +142,23 @@ __all__ = [
|
|
|
130
142
|
"MetaNeuromotorHand",
|
|
131
143
|
"HybridNet",
|
|
132
144
|
"IFNet",
|
|
133
|
-
"InterpolatedBENDR",
|
|
134
|
-
"InterpolatedBIOT",
|
|
135
|
-
"InterpolatedLaBraM",
|
|
136
|
-
"InterpolatedModel",
|
|
137
|
-
"InterpolatedSignalJEPA",
|
|
138
145
|
"Labram",
|
|
139
146
|
"LUNA",
|
|
140
147
|
"extract_channel_locations_from_chs_info",
|
|
141
148
|
"positions_from_chs_info",
|
|
149
|
+
"MAPA",
|
|
142
150
|
"MEDFormer",
|
|
143
151
|
"MIRepNet",
|
|
152
|
+
"NeuroRVQ",
|
|
144
153
|
"MSCFormer",
|
|
154
|
+
"NeuroRVQTokenizer",
|
|
145
155
|
"MSVTNet",
|
|
146
156
|
"MVPFormer",
|
|
147
157
|
"PBT",
|
|
148
158
|
"PopulationTransformer",
|
|
149
159
|
"REVE",
|
|
150
160
|
"SCCNet",
|
|
161
|
+
"SeizureTransformer",
|
|
151
162
|
"ShallowFBCSPNet",
|
|
152
163
|
"SignalJEPA",
|
|
153
164
|
"SignalJEPA_Contextual",
|
|
@@ -155,20 +166,24 @@ __all__ = [
|
|
|
155
166
|
"SignalJEPA_PreLocal",
|
|
156
167
|
"SincShallowNet",
|
|
157
168
|
"SSTDPN",
|
|
169
|
+
"SleepFM",
|
|
170
|
+
"SleepFMStager",
|
|
158
171
|
"SleepStagerBlanco2020",
|
|
159
172
|
"SleepStagerChambon2018",
|
|
160
173
|
"SPARCNet",
|
|
161
174
|
"STEEGFormer",
|
|
162
175
|
"SyncNet",
|
|
163
176
|
"BDTCN",
|
|
177
|
+
"TFMTokenizer",
|
|
178
|
+
"TFMTokenizerOutput",
|
|
164
179
|
"TCFormer",
|
|
165
180
|
"TCN",
|
|
166
181
|
"TIDNet",
|
|
182
|
+
"TMSANet",
|
|
167
183
|
"TSception",
|
|
168
184
|
"USleep",
|
|
169
185
|
"ZUNA",
|
|
170
186
|
"build_model_config",
|
|
171
187
|
"_init_models_dict",
|
|
172
188
|
"models_mandatory_parameters",
|
|
173
|
-
"interpolated_models_dict",
|
|
174
189
|
]
|
{braindecode-1.8.1.dev172484635 → braindecode-1.8.1.dev172569382}/braindecode/models/attn_sleep.py
RENAMED
|
@@ -436,7 +436,6 @@ class _MultiHeadedAttention(nn.Module):
|
|
|
436
436
|
h = int(h)
|
|
437
437
|
self.d_per_head = d_model // h
|
|
438
438
|
self.h = h
|
|
439
|
-
self.attn = torch.empty(0)
|
|
440
439
|
|
|
441
440
|
base_conv = CausalConv1d(
|
|
442
441
|
in_channels=after_reduced_cnn_size,
|
|
@@ -471,9 +470,6 @@ class _MultiHeadedAttention(nn.Module):
|
|
|
471
470
|
# recompute the weighted sum with dropped weights
|
|
472
471
|
x = torch.matmul(attn, value)
|
|
473
472
|
|
|
474
|
-
# stash the pre‑dropout weights if you need them
|
|
475
|
-
self.attn = attn_weights
|
|
476
|
-
|
|
477
473
|
# merge heads and project
|
|
478
474
|
x = x.transpose(1, 2).contiguous().view(nbatches, -1, self.h * self.d_per_head)
|
|
479
475
|
|