braindecode 1.5.0.dev1007__tar.gz → 1.5.0.dev1010__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.5.0.dev1007/braindecode.egg-info → braindecode-1.5.0.dev1010}/PKG-INFO +1 -1
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/base.py +119 -1
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/base.py +16 -4
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/preprocessing/preprocess.py +38 -17
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/preprocessing/windowers.py +13 -4
- braindecode-1.5.0.dev1010/braindecode/version.py +1 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010/braindecode.egg-info}/PKG-INFO +1 -1
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/whats_new.rst +28 -11
- braindecode-1.5.0.dev1007/braindecode/version.py +0 -1
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/LICENSE.txt +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/MANIFEST.in +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/NOTICE.txt +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/README.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/__init__.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/augmentation/__init__.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/augmentation/base.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/augmentation/functional.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/augmentation/transforms.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/classifier.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/__init__.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/bbci.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/bcicomp.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/bids/__init__.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/bids/datasets.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/bids/format.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/bids/hub.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/bids/hub_format.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/bids/hub_io.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/bids/hub_validation.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/bids/iterable.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/chb_mit.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/mne.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/moabb.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/nmt.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/registry.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/siena.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/sleep_physionet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/tuh.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/utils.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/xy.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datautil/__init__.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datautil/channel_utils.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datautil/hub_formats.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datautil/serialization.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datautil/util.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/eegneuralnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/functional/__init__.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/functional/functions.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/functional/initialization.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/__init__.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/atcnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/attentionbasenet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/attn_sleep.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/bendr.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/biot.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/brainmodule.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/cbramod.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/codebrain.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/config.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/contrawr.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/ctnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/deep4.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/deepsleepnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/dgcnn.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/eegconformer.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/eeginception_erp.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/eeginception_mi.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/eegitnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/eegminer.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/eegnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/eegnex.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/eegpt.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/eegsimpleconv.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/eegsym.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/eegtcnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/emg2qwerty.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/fbcnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/fblightconvnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/fbmsnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/hybrid.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/ifnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/interpolated.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/labram.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/luna.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/medformer.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/meta_neuromotor.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/msvtnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/patchedtransformer.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/reve.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/sccnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/shallow_fbcsp.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/signal_jepa.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/sinc_shallow.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/sparcnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/sstdpn.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/summary.csv +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/syncnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/tcn.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/tidnet.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/tsinception.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/usleep.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/util.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/__init__.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/activation.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/attention.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/blocks.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/convolution.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/filter.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/interpolation.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/layers.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/linear.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/parametrization.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/stats.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/util.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/wrapper.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/preprocessing/__init__.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/preprocessing/eegprep_preprocess.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/preprocessing/mne_preprocess.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/preprocessing/util.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/regressor.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/samplers/__init__.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/samplers/base.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/samplers/ssl.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/training/__init__.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/training/callbacks.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/training/losses.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/training/scoring.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/util.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/visualization/__init__.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/visualization/attribution.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/visualization/confusion_matrices.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/visualization/frequency.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/visualization/metrics.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/visualization/sanity.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/visualization/topology.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode.egg-info/SOURCES.txt +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode.egg-info/dependency_links.txt +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode.egg-info/requires.txt +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode.egg-info/top_level.txt +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/Makefile +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/_templates/autosummary/class.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/_templates/autosummary/function.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/api.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/cite.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/conf.py +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/help.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/index.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/install/install.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/install/install_pip.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/install/install_source.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/attention.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/channel.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/convolution.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/filterbank.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/gnn.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/interpretable.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/lbm.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/recurrent.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/spd.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/models.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/models_categorization.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/models_table.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/models_visualization.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/sg_execution_times.rst +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/pyproject.toml +0 -0
- {braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: braindecode
|
|
3
|
-
Version: 1.5.0.
|
|
3
|
+
Version: 1.5.0.dev1010
|
|
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>
|
|
@@ -18,7 +18,7 @@ import shutil
|
|
|
18
18
|
import warnings
|
|
19
19
|
from abc import abstractmethod
|
|
20
20
|
from collections import Counter
|
|
21
|
-
from collections.abc import Callable
|
|
21
|
+
from collections.abc import Callable, Hashable
|
|
22
22
|
from glob import glob
|
|
23
23
|
from pathlib import Path
|
|
24
24
|
from typing import Any, Generic, Iterable, no_type_check
|
|
@@ -1340,6 +1340,124 @@ class BaseConcatDataset(ConcatDataset, HubDatasetMixin, Generic[T]):
|
|
|
1340
1340
|
raise TypeError("target_transform must be a callable.")
|
|
1341
1341
|
self._target_transform = fn
|
|
1342
1342
|
|
|
1343
|
+
def set_target(self, column: Hashable) -> "BaseConcatDataset":
|
|
1344
|
+
"""Use ``column`` as the target ``y`` for every subdataset.
|
|
1345
|
+
|
|
1346
|
+
Dispatches on the subdataset type:
|
|
1347
|
+
|
|
1348
|
+
* For :class:`WindowsDataset` / :class:`EEGWindowsDataset`,
|
|
1349
|
+
``column`` is looked up in per-window ``metadata`` first, then in
|
|
1350
|
+
the per-record ``description`` (broadcast to every window). The
|
|
1351
|
+
resolved values overwrite ``ds.metadata['target']`` and ``ds.y``.
|
|
1352
|
+
For :class:`WindowsDataset`, the underlying ``ds.windows.metadata``
|
|
1353
|
+
is kept in sync so ``get_metadata()`` and the repr reflect the
|
|
1354
|
+
new target.
|
|
1355
|
+
* For :class:`RawDataset`, ``column`` must exist on the
|
|
1356
|
+
``description``. ``ds.target_name`` is set to ``column`` so
|
|
1357
|
+
``__getitem__`` reads ``description[column]`` as ``y`` on every
|
|
1358
|
+
access — no rebuild needed.
|
|
1359
|
+
|
|
1360
|
+
Parameters
|
|
1361
|
+
----------
|
|
1362
|
+
column : Hashable
|
|
1363
|
+
Name of a metadata column or description field (BIDS entity,
|
|
1364
|
+
participants.tsv extra, ...). Typically a string, but any
|
|
1365
|
+
hashable that pandas accepts as a column label is allowed.
|
|
1366
|
+
|
|
1367
|
+
Returns
|
|
1368
|
+
-------
|
|
1369
|
+
self : BaseConcatDataset
|
|
1370
|
+
|
|
1371
|
+
Raises
|
|
1372
|
+
------
|
|
1373
|
+
TypeError
|
|
1374
|
+
If any subdataset is not a :class:`WindowsDataset`,
|
|
1375
|
+
:class:`EEGWindowsDataset`, or :class:`RawDataset`, or if a
|
|
1376
|
+
windowed subdataset has lazy (non-DataFrame) metadata.
|
|
1377
|
+
ValueError
|
|
1378
|
+
If ``column`` is not present on a subdataset's metadata or
|
|
1379
|
+
description, or if a windowed subdataset has
|
|
1380
|
+
``targets_from='channels'`` (which would make this a silent
|
|
1381
|
+
no-op since ``__getitem__`` reads y from misc channels, not
|
|
1382
|
+
from ``metadata['target']``).
|
|
1383
|
+
"""
|
|
1384
|
+
for i, ds in enumerate(self.datasets):
|
|
1385
|
+
if isinstance(ds, (WindowsDataset, EEGWindowsDataset)):
|
|
1386
|
+
if not isinstance(ds.metadata, pd.DataFrame):
|
|
1387
|
+
# _LazyDataFrame (lazy_metadata=True) does not implement
|
|
1388
|
+
# .copy()/__setitem__, so the in-place write below would
|
|
1389
|
+
# raise AttributeError. Surface the precondition cleanly.
|
|
1390
|
+
raise TypeError(
|
|
1391
|
+
"set_target requires a materialized metadata "
|
|
1392
|
+
f"DataFrame; datasets[{i}].metadata is "
|
|
1393
|
+
f"{type(ds.metadata).__name__}. Re-window with "
|
|
1394
|
+
"lazy_metadata=False to use set_target."
|
|
1395
|
+
)
|
|
1396
|
+
if getattr(ds, "targets_from", "metadata") != "metadata":
|
|
1397
|
+
# __getitem__ would read y from misc channels; writing
|
|
1398
|
+
# metadata['target']/ds.y would be a silent no-op.
|
|
1399
|
+
raise ValueError(
|
|
1400
|
+
f"datasets[{i}] has targets_from="
|
|
1401
|
+
f"{ds.targets_from!r}; set_target only applies when "
|
|
1402
|
+
"targets_from='metadata' (otherwise __getitem__ "
|
|
1403
|
+
"derives y from misc channels and would ignore the "
|
|
1404
|
+
"rewritten target column)."
|
|
1405
|
+
)
|
|
1406
|
+
n = len(ds)
|
|
1407
|
+
md = ds.metadata
|
|
1408
|
+
if column in md.columns:
|
|
1409
|
+
values = md[column].iloc[:n].to_list()
|
|
1410
|
+
elif (
|
|
1411
|
+
isinstance(ds.description, pd.Series)
|
|
1412
|
+
and column in ds.description.index
|
|
1413
|
+
):
|
|
1414
|
+
values = [ds.description[column]] * n
|
|
1415
|
+
else:
|
|
1416
|
+
desc_keys = (
|
|
1417
|
+
list(ds.description.index)
|
|
1418
|
+
if isinstance(ds.description, pd.Series)
|
|
1419
|
+
else []
|
|
1420
|
+
)
|
|
1421
|
+
raise ValueError(
|
|
1422
|
+
f"Column {column!r} not found on datasets[{i}]: "
|
|
1423
|
+
f"metadata cols={list(md.columns)}, "
|
|
1424
|
+
f"description keys={desc_keys}."
|
|
1425
|
+
)
|
|
1426
|
+
# In-place write so the WindowsDataset's metadata and the
|
|
1427
|
+
# underlying mne.Epochs.metadata (which start as the same
|
|
1428
|
+
# object reference) both reflect the new target. Defensive
|
|
1429
|
+
# second write covers the case where they got de-aliased
|
|
1430
|
+
# earlier by a caller-side reassignment.
|
|
1431
|
+
md["target"] = values
|
|
1432
|
+
windows_obj = getattr(ds, "_windows", None)
|
|
1433
|
+
if windows_obj is not None and windows_obj.metadata is not md:
|
|
1434
|
+
windows_obj.metadata["target"] = values
|
|
1435
|
+
# values is already a fresh list (Series.to_list() / [x] * n);
|
|
1436
|
+
# no defensive copy needed — pandas keeps its own representation
|
|
1437
|
+
# for md["target"] so mutating ds.y won't reach back into it.
|
|
1438
|
+
ds.y = values
|
|
1439
|
+
elif isinstance(ds, RawDataset):
|
|
1440
|
+
if (
|
|
1441
|
+
not isinstance(ds.description, pd.Series)
|
|
1442
|
+
or column not in ds.description.index
|
|
1443
|
+
):
|
|
1444
|
+
desc_keys = (
|
|
1445
|
+
list(ds.description.index)
|
|
1446
|
+
if isinstance(ds.description, pd.Series)
|
|
1447
|
+
else []
|
|
1448
|
+
)
|
|
1449
|
+
raise ValueError(
|
|
1450
|
+
f"Column {column!r} not found on datasets[{i}] "
|
|
1451
|
+
f"description (keys={desc_keys})."
|
|
1452
|
+
)
|
|
1453
|
+
ds.target_name = column
|
|
1454
|
+
else:
|
|
1455
|
+
raise TypeError(
|
|
1456
|
+
"set_target requires WindowsDataset, EEGWindowsDataset, "
|
|
1457
|
+
f"or RawDataset; datasets[{i}] is {type(ds).__name__}."
|
|
1458
|
+
)
|
|
1459
|
+
return self
|
|
1460
|
+
|
|
1343
1461
|
def _outdated_save(self, path, overwrite=False):
|
|
1344
1462
|
"""This is a copy of the old saving function, that had inconsistent.
|
|
1345
1463
|
|
|
@@ -33,13 +33,25 @@ huggingface_hub = _soft_import(
|
|
|
33
33
|
HAS_HF_HUB = huggingface_hub is not False
|
|
34
34
|
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
_HF_INSTALL_HINT = (
|
|
37
|
+
"requires the `huggingface_hub` package. "
|
|
38
|
+
"Install with: pip install 'braindecode[hub]'"
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class _BaseHubMixinStub:
|
|
43
|
+
@classmethod
|
|
44
|
+
def from_pretrained(cls, *args, **kwargs):
|
|
45
|
+
raise ImportError(f"{cls.__name__}.from_pretrained() {_HF_INSTALL_HINT}")
|
|
46
|
+
|
|
47
|
+
def push_to_hub(self, *args, **kwargs):
|
|
48
|
+
raise ImportError(f"{type(self).__name__}.push_to_hub() {_HF_INSTALL_HINT}")
|
|
38
49
|
|
|
39
50
|
|
|
40
51
|
# Define base class for hub mixin
|
|
41
|
-
|
|
42
|
-
|
|
52
|
+
_BaseHubMixin: Type = (
|
|
53
|
+
huggingface_hub.PyTorchModelHubMixin if HAS_HF_HUB else _BaseHubMixinStub
|
|
54
|
+
)
|
|
43
55
|
|
|
44
56
|
|
|
45
57
|
def deprecated_args(obj, *old_new_args):
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/preprocessing/preprocess.py
RENAMED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
# David Sabbagh <dav.sabbagh@gmail.com>
|
|
7
7
|
# Bruno Aristimunha <b.aristimunha@gmail.com>
|
|
8
8
|
# Léo Burgund <leo.burgund@gmail.com>
|
|
9
|
+
# Sarthak Tayal <sarthaktayal2@gmail.com>
|
|
9
10
|
#
|
|
10
11
|
# License: BSD (3-clause)
|
|
11
12
|
|
|
@@ -217,6 +218,7 @@ def preprocess(
|
|
|
217
218
|
offset: int = 0,
|
|
218
219
|
copy_data: bool | None = None,
|
|
219
220
|
parallel_kwargs: dict | None = None,
|
|
221
|
+
max_nbytes: int | str | None = "1M",
|
|
220
222
|
):
|
|
221
223
|
"""Apply preprocessors to a concat dataset.
|
|
222
224
|
|
|
@@ -244,14 +246,20 @@ def preprocess(
|
|
|
244
246
|
Additional keyword arguments forwarded to ``joblib.Parallel``.
|
|
245
247
|
Defaults to None (equivalent to ``{}``).
|
|
246
248
|
See https://joblib.readthedocs.io/en/stable/generated/joblib.Parallel.html for details.
|
|
249
|
+
max_nbytes : int, str, or None
|
|
250
|
+
Threshold (in bytes; or e.g. ``"1M"``) above which joblib memory-maps
|
|
251
|
+
preloaded arrays as read-only when dispatching to worker processes.
|
|
252
|
+
Effective only when ``n_jobs != 1``. Pass ``None`` to disable memory
|
|
253
|
+
mapping when a preprocessor resizes the underlying data (for example
|
|
254
|
+
``filterbank``), which would otherwise fail with an ``mmap can't
|
|
255
|
+
resize a readonly`` error. ``parallel_kwargs['max_nbytes']`` takes
|
|
256
|
+
precedence if both are provided.
|
|
247
257
|
|
|
248
258
|
Returns
|
|
249
259
|
-------
|
|
250
260
|
BaseConcatDataset
|
|
251
261
|
Preprocessed dataset.
|
|
252
262
|
"""
|
|
253
|
-
# In case of serialization, make sure directory is available before
|
|
254
|
-
# preprocessing
|
|
255
263
|
if save_dir is not None and not overwrite:
|
|
256
264
|
_check_save_dir_empty(save_dir)
|
|
257
265
|
|
|
@@ -266,22 +274,35 @@ def preprocess(
|
|
|
266
274
|
parallel_params.setdefault(
|
|
267
275
|
"prefer", "threads" if platform.system() == "Windows" else None
|
|
268
276
|
)
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
277
|
+
parallel_params.setdefault("max_nbytes", max_nbytes)
|
|
278
|
+
|
|
279
|
+
try:
|
|
280
|
+
list_of_ds = Parallel(n_jobs=n_jobs, **parallel_params)(
|
|
281
|
+
delayed(_preprocess)(
|
|
282
|
+
ds,
|
|
283
|
+
i + offset,
|
|
284
|
+
preprocessors,
|
|
285
|
+
save_dir,
|
|
286
|
+
overwrite,
|
|
287
|
+
copy_data=(
|
|
288
|
+
(parallel_processing and (save_dir is None))
|
|
289
|
+
if copy_data is None
|
|
290
|
+
else copy_data
|
|
291
|
+
),
|
|
292
|
+
)
|
|
293
|
+
for i, ds in enumerate(concat_ds.datasets)
|
|
282
294
|
)
|
|
283
|
-
|
|
284
|
-
|
|
295
|
+
except (BufferError, ValueError, OSError) as exc:
|
|
296
|
+
msg = str(exc).lower().replace("-", "")
|
|
297
|
+
if "mmap" in msg and "readonly" in msg:
|
|
298
|
+
raise RuntimeError(
|
|
299
|
+
"Parallel preprocessing failed because joblib memory-mapped "
|
|
300
|
+
"a preloaded array that a preprocessor then attempted to "
|
|
301
|
+
"resize (e.g. ``filterbank``). Pass ``max_nbytes=None`` to "
|
|
302
|
+
"``preprocess`` to disable memory mapping, or supply a "
|
|
303
|
+
"``save_dir`` so the data is reloaded with ``preload=False``."
|
|
304
|
+
) from exc
|
|
305
|
+
raise
|
|
285
306
|
|
|
286
307
|
if save_dir is not None: # Reload datasets and replace in concat_ds
|
|
287
308
|
ids_to_load = [i + offset for i in range(len(concat_ds.datasets))]
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/preprocessing/windowers.py
RENAMED
|
@@ -498,7 +498,7 @@ def create_fixed_length_windows(
|
|
|
498
498
|
EEGWindowsDataset objects with the extracted windows, depending on
|
|
499
499
|
the value of ``use_mne_epochs``.
|
|
500
500
|
"""
|
|
501
|
-
stop_offset_samples, drop_last_window = (
|
|
501
|
+
stop_offset_samples, window_stride_samples, drop_last_window = (
|
|
502
502
|
_check_and_set_fixed_length_window_arguments(
|
|
503
503
|
start_offset_samples,
|
|
504
504
|
stop_offset_samples,
|
|
@@ -886,7 +886,10 @@ def _create_fixed_length_windows(
|
|
|
886
886
|
if mapping is not None:
|
|
887
887
|
# in case of multiple targets
|
|
888
888
|
if isinstance(target, pd.Series):
|
|
889
|
-
|
|
889
|
+
# Plain comprehension instead of Series.replace(mapping):
|
|
890
|
+
# replace() emits a pandas FutureWarning about silent downcasting
|
|
891
|
+
# and the result is immediately list-ified anyway.
|
|
892
|
+
target = [mapping.get(v, v) for v in target]
|
|
890
893
|
# in case of single value target
|
|
891
894
|
else:
|
|
892
895
|
target = mapping[target]
|
|
@@ -1245,8 +1248,14 @@ def _check_and_set_fixed_length_window_arguments(
|
|
|
1245
1248
|
lazy_metadata,
|
|
1246
1249
|
):
|
|
1247
1250
|
"""Raises warnings for incorrect input arguments and will set correct default values for
|
|
1248
|
-
stop_offset_samples & drop_last_window, if necessary.
|
|
1251
|
+
stop_offset_samples, window_stride_samples & drop_last_window, if necessary.
|
|
1249
1252
|
"""
|
|
1253
|
+
# default stride to window size for non-overlapping windows
|
|
1254
|
+
if window_size_samples is not None and window_stride_samples is None:
|
|
1255
|
+
window_stride_samples = window_size_samples
|
|
1256
|
+
if drop_last_window is None:
|
|
1257
|
+
drop_last_window = True
|
|
1258
|
+
|
|
1250
1259
|
_check_windowing_arguments(
|
|
1251
1260
|
start_offset_samples,
|
|
1252
1261
|
stop_offset_samples,
|
|
@@ -1295,7 +1304,7 @@ def _check_and_set_fixed_length_window_arguments(
|
|
|
1295
1304
|
raise ValueError(
|
|
1296
1305
|
"Cannot have drop_last_window=False and lazy_metadata=True at the same time."
|
|
1297
1306
|
)
|
|
1298
|
-
return stop_offset_samples, drop_last_window
|
|
1307
|
+
return stop_offset_samples, window_stride_samples, drop_last_window
|
|
1299
1308
|
|
|
1300
1309
|
|
|
1301
1310
|
def _get_windowing_kwargs(windowing_func_locals):
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.5.0.dev1010"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: braindecode
|
|
3
|
-
Version: 1.5.0.
|
|
3
|
+
Version: 1.5.0.dev1010
|
|
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>
|
|
@@ -22,12 +22,22 @@
|
|
|
22
22
|
.. _current:
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
Current 1.5.0 (
|
|
25
|
+
Current 1.5.0 (stable)
|
|
26
26
|
===============================
|
|
27
27
|
|
|
28
28
|
Enhancements
|
|
29
29
|
============
|
|
30
30
|
|
|
31
|
+
- Add :meth:`braindecode.datasets.BaseConcatDataset.set_target` to swap
|
|
32
|
+
any per-window metadata column or per-record description field
|
|
33
|
+
(e.g. a BIDS entity, a participants.tsv extra) into the dataset's
|
|
34
|
+
target ``y`` in one call, replacing the manual
|
|
35
|
+
``for ds in concat.datasets: ds.metadata.loc[:, 'target'] = ...; ds.y = ...``
|
|
36
|
+
loop. Dispatches on the subdataset type: writes
|
|
37
|
+
``metadata['target']`` / ``ds.y`` for windowed records, and points
|
|
38
|
+
``target_name`` at the chosen description field for raw records.
|
|
39
|
+
By `Bruno Aristimunha`_.
|
|
40
|
+
|
|
31
41
|
- Redesign the documentation landing page (``docs/index.rst``) in a
|
|
32
42
|
pyhealth.dev-style layout: animated brain → EEG → net hero, fact strip
|
|
33
43
|
highlighting MOABB / EEGDash interoperability, interactive model-zoo
|
|
@@ -140,11 +150,6 @@ API and behavior changes
|
|
|
140
150
|
:class:`braindecode.models.InterpolatedLaBraM`. (:gh:`993`
|
|
141
151
|
by `Pierre Guetschel`_)
|
|
142
152
|
|
|
143
|
-
Requirements
|
|
144
|
-
============
|
|
145
|
-
|
|
146
|
-
- None yet
|
|
147
|
-
|
|
148
153
|
Bug fixes
|
|
149
154
|
==========
|
|
150
155
|
|
|
@@ -173,6 +178,10 @@ Bug fixes
|
|
|
173
178
|
- Fix ``TypeError: type 'Any' is not subscriptable`` when importing
|
|
174
179
|
``braindecode.models.config`` without ``numpydantic`` installed on
|
|
175
180
|
Python 3.12+ (:gh:`871` by `Sarthak Tayal`_)
|
|
181
|
+
- Fix :func:`braindecode.preprocessing.create_fixed_length_windows` crashing
|
|
182
|
+
when only ``window_size_samples`` is provided without ``window_stride_samples``,
|
|
183
|
+
stride now defaults to window size as documented
|
|
184
|
+
(:gh:`990` by `Sarthak Tayal`_)
|
|
176
185
|
- Add ``channel_embedding`` parameter to :class:`braindecode.models.SignalJEPA` and
|
|
177
186
|
:class:`braindecode.models.SignalJEPA_Contextual` to load pre-trained channel
|
|
178
187
|
embedding weights when fine-tuning on a subset of the pre-training channels.
|
|
@@ -187,11 +196,6 @@ Bug fixes
|
|
|
187
196
|
- Retry transient TLS failures from ``physionet.org`` when fetching
|
|
188
197
|
:class:`braindecode.datasets.SleepPhysionet` (by `Bruno Aristimunha`_)
|
|
189
198
|
|
|
190
|
-
Code health
|
|
191
|
-
============
|
|
192
|
-
|
|
193
|
-
- None yet
|
|
194
|
-
|
|
195
199
|
|
|
196
200
|
Current 1.4.0 (stable)
|
|
197
201
|
===============================
|
|
@@ -289,6 +293,11 @@ Requirements
|
|
|
289
293
|
|
|
290
294
|
Bugs
|
|
291
295
|
=====
|
|
296
|
+
- Improve the error message when :meth:`from_pretrained` or :meth:`push_to_hub`
|
|
297
|
+
are called without the optional ``huggingface_hub`` dependency installed.
|
|
298
|
+
Users now get a clear :class:`ImportError` with installation instructions
|
|
299
|
+
(``pip install 'braindecode[hub]'``) instead of an ``AttributeError``.
|
|
300
|
+
(:gh:`1024` by `@copilot`_)
|
|
292
301
|
- Fix the documentation header "Cite Braindecode" announcement link: it used a bare
|
|
293
302
|
``cite.html`` URL, which browsers resolve relative to the current page path and led
|
|
294
303
|
to 404s (for example from ``install/install.html``). The link is now built with
|
|
@@ -341,6 +350,14 @@ Bugs
|
|
|
341
350
|
marked all model-specific parameters as "The description is missing"
|
|
342
351
|
when ``DOCSTRING_INHERITANCE_ENABLE=1`` was set during documentation
|
|
343
352
|
builds (:gh:`971` by `Bruno Aristimunha`_)
|
|
353
|
+
- Expose ``max_nbytes`` directly on
|
|
354
|
+
:func:`braindecode.preprocessing.preprocess.preprocess` and turn the
|
|
355
|
+
cryptic ``mmap can't resize a readonly`` failure (raised when joblib
|
|
356
|
+
memory-maps a preloaded array that a preprocessor later tries to
|
|
357
|
+
resize) into an actionable error explaining how to fix it: pass
|
|
358
|
+
``max_nbytes=None`` to disable memory mapping, or supply a ``save_dir``
|
|
359
|
+
so data is reloaded with ``preload=False``
|
|
360
|
+
(:gh:`325` by `Sarthak Tayal`_)
|
|
344
361
|
|
|
345
362
|
Code health
|
|
346
363
|
============
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.5.0.dev1007"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/augmentation/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/augmentation/functional.py
RENAMED
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/augmentation/transforms.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/bids/__init__.py
RENAMED
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/bids/datasets.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/bids/hub_format.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/bids/hub_validation.py
RENAMED
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/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
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datasets/sleep_physionet.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datautil/channel_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/datautil/serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/functional/initialization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/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
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/eeginception_erp.py
RENAMED
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/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.5.0.dev1007 → braindecode-1.5.0.dev1010}/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.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/models/meta_neuromotor.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/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
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/interpolation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/modules/parametrization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/preprocessing/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/preprocessing/mne_preprocess.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.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/visualization/__init__.py
RENAMED
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/visualization/attribution.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/visualization/frequency.py
RENAMED
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/visualization/metrics.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode/visualization/topology.py
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/braindecode.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/_templates/autosummary/class.rst
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/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.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/attention.rst
RENAMED
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/channel.rst
RENAMED
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/convolution.rst
RENAMED
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/filterbank.rst
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/interpretable.rst
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/categorization/recurrent.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/models_categorization.rst
RENAMED
|
File without changes
|
|
File without changes
|
{braindecode-1.5.0.dev1007 → braindecode-1.5.0.dev1010}/docs/models/models_visualization.rst
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|