braindecode 1.8.0.dev1122__tar.gz → 1.8.0.dev1125__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.0.dev1122/braindecode.egg-info → braindecode-1.8.0.dev1125}/PKG-INFO +1 -1
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/samplers/base.py +40 -2
- braindecode-1.8.0.dev1125/braindecode/version.py +1 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125/braindecode.egg-info}/PKG-INFO +1 -1
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/whats_new.rst +19 -0
- braindecode-1.8.0.dev1122/braindecode/version.py +0 -1
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/LICENSE.txt +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/MANIFEST.in +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/NOTICE.txt +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/README.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/__init__.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/augmentation/__init__.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/augmentation/base.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/augmentation/functional.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/augmentation/transforms.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/classifier.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/__init__.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/base.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bbci.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bcicomp.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/__init__.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/datasets.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/format.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/hub.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/hub_format.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/hub_io.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/hub_validation.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/iterable.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/chb_mit.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/collate.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/mne.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/moabb.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/nmt.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/registry.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/siena.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/sleep_physionet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/tuh.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/utils.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/xy.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datautil/__init__.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datautil/channel_utils.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datautil/hub_formats.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datautil/serialization.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datautil/util.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/eegneuralnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/functional/__init__.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/functional/functions.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/functional/initialization.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/__init__.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/atcnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/attentionbasenet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/attn_sleep.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/base.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/bendr.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/biot.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/brainmodule.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/cbramod.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/codebrain.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/config.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/contrawr.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/ctnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/dance.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/deep4.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/deepsleepnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/dgcnn.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegconformer.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegdino.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eeginception_erp.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eeginception_mi.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegitnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegminer.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegnex.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegpt.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegsimpleconv.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegsym.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eegtcnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/emg2qwerty.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/fbcnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/fblightconvnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/fbmsnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/hybrid.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/ifnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/interpolated.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/labram.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/luna.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/medformer.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/meta_neuromotor.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/msvtnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/mvpformer.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/patchedtransformer.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/reve.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/sccnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/shallow_fbcsp.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/signal_jepa.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/sinc_shallow.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/sparcnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/sstdpn.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/steegformer.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/summary.csv +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/syncnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/tcformer.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/tcn.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/tidnet.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/tsinception.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/usleep.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/util.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/zuna.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/__init__.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/activation.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/attention.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/blocks.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/convolution.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/dance_modules.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/filter.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/interpolation.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/layers.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/linear.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/parametrization.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/stats.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/util.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/wrapper.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/__init__.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/eegprep_preprocess.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/mne_preprocess.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/preprocess.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/util.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/windowers.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/regressor.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/samplers/__init__.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/samplers/ssl.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/training/__init__.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/training/callbacks.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/training/losses.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/training/scoring.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/util.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/__init__.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/attribution.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/confusion_matrices.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/frequency.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/metrics.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/sanity.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/topology.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode.egg-info/SOURCES.txt +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode.egg-info/dependency_links.txt +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode.egg-info/requires.txt +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode.egg-info/top_level.txt +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/Makefile +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/_templates/autosummary/class.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/_templates/autosummary/function.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/api.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/cite.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/conf.py +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/help.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/index.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/install/install.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/install/install_pip.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/install/install_source.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/attention.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/channel.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/convolution.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/filterbank.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/gnn.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/interpretable.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/lbm.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/recurrent.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/spd.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/models.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/models_categorization.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/models_table.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/models_visualization.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/sg_execution_times.rst +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/pyproject.toml +0 -0
- {braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: braindecode
|
|
3
|
-
Version: 1.8.0.
|
|
3
|
+
Version: 1.8.0.dev1125
|
|
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>
|
|
@@ -5,6 +5,7 @@ Sampler classes.
|
|
|
5
5
|
# Authors: Hubert Banville <hubert.jbanville@gmail.com>
|
|
6
6
|
# Theo Gnassounou <>
|
|
7
7
|
# Young Truong <dt.young112@gmail.com>
|
|
8
|
+
# Sarthak Tayal <sarthaktayal2@gmail.com>
|
|
8
9
|
#
|
|
9
10
|
# License: BSD (3-clause)
|
|
10
11
|
|
|
@@ -219,6 +220,9 @@ class DistributedRecordingSampler(DistributedSampler):
|
|
|
219
220
|
class SequenceSampler(RecordingSampler):
|
|
220
221
|
"""Sample sequences of consecutive windows.
|
|
221
222
|
|
|
223
|
+
Recordings holding fewer than ``n_windows`` windows cannot contain a full
|
|
224
|
+
sequence and contribute none.
|
|
225
|
+
|
|
222
226
|
Parameters
|
|
223
227
|
----------
|
|
224
228
|
metadata : pd.DataFrame
|
|
@@ -227,7 +231,7 @@ class SequenceSampler(RecordingSampler):
|
|
|
227
231
|
Number of consecutive windows in a sequence.
|
|
228
232
|
n_windows_stride : int
|
|
229
233
|
Number of windows between two consecutive sequences.
|
|
230
|
-
|
|
234
|
+
randomize : bool
|
|
231
235
|
If True, sample sequences randomly. If False, sample sequences in
|
|
232
236
|
order.
|
|
233
237
|
random_state : np.random.RandomState | int | None
|
|
@@ -269,7 +273,10 @@ class SequenceSampler(RecordingSampler):
|
|
|
269
273
|
.apply(lambda x: x[: end_offset : self.n_windows_stride])
|
|
270
274
|
.values
|
|
271
275
|
)
|
|
272
|
-
|
|
276
|
+
# a typed array keeps the ids integer when a recording yields no sequence
|
|
277
|
+
file_ids = [
|
|
278
|
+
np.full(len(inds), i, dtype=np.int64) for i, inds in enumerate(start_inds)
|
|
279
|
+
]
|
|
273
280
|
return np.concatenate(start_inds), np.concatenate(file_ids)
|
|
274
281
|
|
|
275
282
|
def __len__(self):
|
|
@@ -296,6 +303,10 @@ class BalancedSequenceSampler(RecordingSampler):
|
|
|
296
303
|
3. Sample a window of the corresponding class in the selected recording.
|
|
297
304
|
4. Extract a sequence of windows around the sampled window.
|
|
298
305
|
|
|
306
|
+
Recordings holding fewer than ``n_windows`` windows cannot contain a full
|
|
307
|
+
sequence and are left out of step 1, as they are in
|
|
308
|
+
:class:`SequenceSampler`.
|
|
309
|
+
|
|
299
310
|
Parameters
|
|
300
311
|
----------
|
|
301
312
|
metadata : pd.DataFrame
|
|
@@ -322,6 +333,33 @@ class BalancedSequenceSampler(RecordingSampler):
|
|
|
322
333
|
self.n_windows = n_windows
|
|
323
334
|
self.n_sequences = n_sequences
|
|
324
335
|
self.info_class = self._init_info(metadata, required_keys=["target"])
|
|
336
|
+
self.long_enough_recordings = self._find_long_enough_recordings()
|
|
337
|
+
|
|
338
|
+
def _find_long_enough_recordings(self):
|
|
339
|
+
"""Return the indices of the recordings that can hold a full sequence.
|
|
340
|
+
|
|
341
|
+
Returns
|
|
342
|
+
-------
|
|
343
|
+
np.ndarray :
|
|
344
|
+
Array of recording indices holding at least ``n_windows`` windows.
|
|
345
|
+
"""
|
|
346
|
+
n_windows_per_rec = self.info["index"].apply(len).to_numpy()
|
|
347
|
+
if n_windows_per_rec.size == 0:
|
|
348
|
+
raise ValueError("Cannot build sequences from empty metadata.")
|
|
349
|
+
|
|
350
|
+
long_enough = np.flatnonzero(n_windows_per_rec >= self.n_windows)
|
|
351
|
+
if len(long_enough) == 0:
|
|
352
|
+
raise ValueError(
|
|
353
|
+
f"No recording holds enough windows to build a sequence of "
|
|
354
|
+
f"{self.n_windows} windows. The longest recording has "
|
|
355
|
+
f"{n_windows_per_rec.max()} windows. Reduce n_windows to at "
|
|
356
|
+
f"most that value."
|
|
357
|
+
)
|
|
358
|
+
return long_enough
|
|
359
|
+
|
|
360
|
+
def sample_recording(self):
|
|
361
|
+
"""Return a random recording index among the ones long enough."""
|
|
362
|
+
return self.rng.choice(self.long_enough_recordings)
|
|
325
363
|
|
|
326
364
|
def sample_class(self, rec_ind=None):
|
|
327
365
|
"""Return a random class.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.8.0.dev1125"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: braindecode
|
|
3
|
-
Version: 1.8.0.
|
|
3
|
+
Version: 1.8.0.dev1125
|
|
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>
|
|
@@ -83,6 +83,25 @@ Bug fixes
|
|
|
83
83
|
which no longer exposes the ``eegprep.utils`` namespace used for sampling-rate
|
|
84
84
|
validation (:gh:`1123` by `Bruno Aristimunha`_).
|
|
85
85
|
|
|
86
|
+
- Leave recordings shorter than ``n_windows`` out of the draw in
|
|
87
|
+
:class:`braindecode.samplers.BalancedSequenceSampler` instead of failing on
|
|
88
|
+
them. Such a recording holds no valid sequence start, which made the sampling
|
|
89
|
+
range empty and raised ``ValueError: high <= 0`` on the first sequence that
|
|
90
|
+
landed there. :class:`braindecode.samplers.SequenceSampler` already skips
|
|
91
|
+
those recordings. A clear error now names the longest recording when none of
|
|
92
|
+
them can hold a sequence (:gh:`1125` by `Sarthak Tayal`_).
|
|
93
|
+
|
|
94
|
+
- Keep ``file_ids`` of :class:`braindecode.samplers.SequenceSampler` integer.
|
|
95
|
+
The ids were built from untyped lists, so an empty list coming from a
|
|
96
|
+
recording too short for a sequence turned the concatenated array into
|
|
97
|
+
``float64``, against the documented dtype and unusable as an index
|
|
98
|
+
(:gh:`1125` by `Sarthak Tayal`_).
|
|
99
|
+
|
|
100
|
+
- Document the ``randomize`` parameter of
|
|
101
|
+
:class:`braindecode.samplers.SequenceSampler` under its own name. The
|
|
102
|
+
docstring described it as ``random``, which no signature accepts
|
|
103
|
+
(:gh:`1125` by `Sarthak Tayal`_).
|
|
104
|
+
|
|
86
105
|
Code health
|
|
87
106
|
============
|
|
88
107
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.8.0.dev1122"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/augmentation/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/augmentation/functional.py
RENAMED
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/augmentation/transforms.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/__init__.py
RENAMED
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/datasets.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/hub_format.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/hub_validation.py
RENAMED
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/bids/iterable.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.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datasets/sleep_physionet.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datautil/channel_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/datautil/serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/functional/initialization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/attentionbasenet.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
|
|
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.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eeginception_erp.py
RENAMED
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/eeginception_mi.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
|
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/fblightconvnet.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
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/meta_neuromotor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/models/patchedtransformer.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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/dance_modules.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/interpolation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/modules/parametrization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/mne_preprocess.py
RENAMED
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/preprocess.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/preprocessing/windowers.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.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/__init__.py
RENAMED
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/attribution.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/frequency.py
RENAMED
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/metrics.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode/visualization/topology.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/braindecode.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/_templates/autosummary/class.rst
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/_templates/autosummary/function.rst
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
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/attention.rst
RENAMED
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/channel.rst
RENAMED
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/convolution.rst
RENAMED
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/filterbank.rst
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/interpretable.rst
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/categorization/recurrent.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/models_categorization.rst
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.8.0.dev1122 → braindecode-1.8.0.dev1125}/docs/models/models_visualization.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|