Braindecode 1.3.0.dev167809764__tar.gz → 1.3.0.dev168090315__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.
Files changed (152) hide show
  1. {braindecode-1.3.0.dev167809764/braindecode.egg-info → braindecode-1.3.0.dev168090315}/PKG-INFO +7 -10
  2. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datautil/util.py +8 -9
  3. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/__init__.py +2 -0
  4. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/atcnet.py +1 -1
  5. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/attentionbasenet.py +1 -1
  6. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/attn_sleep.py +1 -1
  7. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/bendr.py +1 -1
  8. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/biot.py +2 -2
  9. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/config.py +21 -18
  10. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/ctnet.py +1 -1
  11. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/eegconformer.py +1 -1
  12. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/labram.py +1 -1
  13. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/luna.py +1 -1
  14. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/medformer.py +1 -1
  15. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/msvtnet.py +1 -1
  16. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/patchedtransformer.py +2 -2
  17. braindecode-1.3.0.dev168090315/braindecode/models/reve.py +813 -0
  18. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/signal_jepa.py +4 -4
  19. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/sstdpn.py +1 -1
  20. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/summary.csv +18 -17
  21. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/util.py +10 -0
  22. braindecode-1.3.0.dev168090315/braindecode/version.py +1 -0
  23. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315/braindecode.egg-info}/PKG-INFO +7 -10
  24. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode.egg-info/SOURCES.txt +1 -0
  25. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode.egg-info/requires.txt +6 -9
  26. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/api.rst +3 -2
  27. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/conf.py +8 -0
  28. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/models/categorization/attention.rst +5 -5
  29. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/models/categorization/lbm.rst +5 -5
  30. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/models/models_categorization.rst +8 -8
  31. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/models/models_table.rst +2 -2
  32. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/whats_new.rst +10 -4
  33. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/pyproject.toml +11 -14
  34. braindecode-1.3.0.dev167809764/braindecode/version.py +0 -1
  35. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/LICENSE.txt +0 -0
  36. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/MANIFEST.in +0 -0
  37. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/NOTICE.txt +0 -0
  38. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/README.rst +0 -0
  39. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/__init__.py +0 -0
  40. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/augmentation/__init__.py +0 -0
  41. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/augmentation/base.py +0 -0
  42. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/augmentation/functional.py +0 -0
  43. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/augmentation/transforms.py +0 -0
  44. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/classifier.py +0 -0
  45. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/__init__.py +0 -0
  46. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/base.py +0 -0
  47. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/bbci.py +0 -0
  48. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/bcicomp.py +0 -0
  49. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/bids.py +0 -0
  50. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/chb_mit.py +0 -0
  51. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/experimental.py +0 -0
  52. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/hub.py +0 -0
  53. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/hub_validation.py +0 -0
  54. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/mne.py +0 -0
  55. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/moabb.py +0 -0
  56. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/nmt.py +0 -0
  57. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/registry.py +0 -0
  58. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/siena.py +0 -0
  59. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
  60. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/sleep_physionet.py +0 -0
  61. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/tuh.py +0 -0
  62. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/utils.py +0 -0
  63. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datasets/xy.py +0 -0
  64. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datautil/__init__.py +0 -0
  65. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datautil/channel_utils.py +0 -0
  66. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datautil/hub_formats.py +0 -0
  67. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/datautil/serialization.py +0 -0
  68. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/eegneuralnet.py +0 -0
  69. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/functional/__init__.py +0 -0
  70. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/functional/functions.py +0 -0
  71. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/functional/initialization.py +0 -0
  72. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/base.py +0 -0
  73. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/contrawr.py +0 -0
  74. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/deep4.py +0 -0
  75. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/deepsleepnet.py +0 -0
  76. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/eeginception_erp.py +0 -0
  77. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/eeginception_mi.py +0 -0
  78. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/eegitnet.py +0 -0
  79. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/eegminer.py +0 -0
  80. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/eegnet.py +0 -0
  81. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/eegnex.py +0 -0
  82. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/eegsimpleconv.py +0 -0
  83. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/eegsym.py +0 -0
  84. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/eegtcnet.py +0 -0
  85. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/fbcnet.py +0 -0
  86. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/fblightconvnet.py +0 -0
  87. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/fbmsnet.py +0 -0
  88. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/hybrid.py +0 -0
  89. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/ifnet.py +0 -0
  90. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/sccnet.py +0 -0
  91. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/shallow_fbcsp.py +0 -0
  92. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/sinc_shallow.py +0 -0
  93. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
  94. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
  95. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/sparcnet.py +0 -0
  96. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/syncnet.py +0 -0
  97. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/tcn.py +0 -0
  98. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/tidnet.py +0 -0
  99. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/tsinception.py +0 -0
  100. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/models/usleep.py +0 -0
  101. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/modules/__init__.py +0 -0
  102. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/modules/activation.py +0 -0
  103. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/modules/attention.py +0 -0
  104. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/modules/blocks.py +0 -0
  105. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/modules/convolution.py +0 -0
  106. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/modules/filter.py +0 -0
  107. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/modules/layers.py +0 -0
  108. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/modules/linear.py +0 -0
  109. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/modules/parametrization.py +0 -0
  110. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/modules/stats.py +0 -0
  111. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/modules/util.py +0 -0
  112. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/modules/wrapper.py +0 -0
  113. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/preprocessing/__init__.py +0 -0
  114. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/preprocessing/eegprep_preprocess.py +0 -0
  115. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/preprocessing/mne_preprocess.py +0 -0
  116. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/preprocessing/preprocess.py +0 -0
  117. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/preprocessing/util.py +0 -0
  118. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/preprocessing/windowers.py +0 -0
  119. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/regressor.py +0 -0
  120. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/samplers/__init__.py +0 -0
  121. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/samplers/base.py +0 -0
  122. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/samplers/ssl.py +0 -0
  123. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/training/__init__.py +0 -0
  124. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/training/callbacks.py +0 -0
  125. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/training/losses.py +0 -0
  126. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/training/scoring.py +0 -0
  127. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/util.py +0 -0
  128. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/visualization/__init__.py +0 -0
  129. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/visualization/confusion_matrices.py +0 -0
  130. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode/visualization/gradients.py +0 -0
  131. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode.egg-info/dependency_links.txt +0 -0
  132. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/braindecode.egg-info/top_level.txt +0 -0
  133. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/Makefile +0 -0
  134. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/_templates/autosummary/class.rst +0 -0
  135. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/_templates/autosummary/function.rst +0 -0
  136. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/cite.rst +0 -0
  137. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/help.rst +0 -0
  138. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/index.rst +0 -0
  139. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/install/install.rst +0 -0
  140. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/install/install_pip.rst +0 -0
  141. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/install/install_source.rst +0 -0
  142. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/models/categorization/channel.rst +0 -0
  143. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/models/categorization/convolution.rst +0 -0
  144. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/models/categorization/filterbank.rst +0 -0
  145. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/models/categorization/gnn.rst +0 -0
  146. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/models/categorization/interpretable.rst +0 -0
  147. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/models/categorization/recurrent.rst +0 -0
  148. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/models/categorization/spd.rst +0 -0
  149. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/models/models.rst +0 -0
  150. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/models/models_visualization.rst +0 -0
  151. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/docs/sg_execution_times.rst +0 -0
  152. {braindecode-1.3.0.dev167809764 → braindecode-1.3.0.dev168090315}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.3.0.dev167809764
3
+ Version: 1.3.0.dev168090315
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,17 +22,12 @@ Requires-Python: >=3.11
22
22
  Description-Content-Type: text/x-rst
23
23
  License-File: LICENSE.txt
24
24
  License-File: NOTICE.txt
25
+ Requires-Dist: torch>=2.2
26
+ Requires-Dist: torchaudio>=2.0
25
27
  Requires-Dist: mne>=1.11.0
26
28
  Requires-Dist: mne_bids>=0.16
27
- Requires-Dist: numpy
28
- Requires-Dist: pandas
29
- Requires-Dist: scipy
30
- Requires-Dist: matplotlib
31
29
  Requires-Dist: h5py
32
30
  Requires-Dist: skorch>=1.3.0
33
- Requires-Dist: torch>=2.0
34
- Requires-Dist: torchaudio>=2.0
35
- Requires-Dist: einops
36
31
  Requires-Dist: joblib
37
32
  Requires-Dist: torchinfo
38
33
  Requires-Dist: wfdb
@@ -40,7 +35,7 @@ Requires-Dist: linear_attention_transformer
40
35
  Requires-Dist: docstring_inheritance
41
36
  Requires-Dist: rotary_embedding_torch
42
37
  Provides-Extra: moabb
43
- Requires-Dist: moabb>=1.4.2; extra == "moabb"
38
+ Requires-Dist: moabb>=1.4.3; extra == "moabb"
44
39
  Provides-Extra: eegprep
45
40
  Requires-Dist: eegprep[eeglabio]>=0.2.23; extra == "eegprep"
46
41
  Provides-Extra: hub
@@ -52,8 +47,9 @@ Requires-Dist: pytest-cov; extra == "tests"
52
47
  Requires-Dist: codecov; extra == "tests"
53
48
  Requires-Dist: pytest_cases; extra == "tests"
54
49
  Requires-Dist: mypy; extra == "tests"
50
+ Requires-Dist: transformers>=4.57.0; extra == "tests"
55
51
  Provides-Extra: typing
56
- Requires-Dist: pydantic<3.0,>=2.0; extra == "typing"
52
+ Requires-Dist: exca==0.4; extra == "typing"
57
53
  Requires-Dist: numpydantic>=1.7; extra == "typing"
58
54
  Provides-Extra: docs
59
55
  Requires-Dist: sphinx_gallery; extra == "docs"
@@ -75,6 +71,7 @@ Requires-Dist: openneuro-py; extra == "docs"
75
71
  Requires-Dist: plotly; extra == "docs"
76
72
  Requires-Dist: shap; extra == "docs"
77
73
  Requires-Dist: nbformat; extra == "docs"
74
+ Requires-Dist: transformers; extra == "docs"
78
75
  Provides-Extra: all
79
76
  Requires-Dist: braindecode[moabb]; extra == "all"
80
77
  Requires-Dist: braindecode[tests]; extra == "all"
@@ -11,8 +11,7 @@ from skorch.helper import SliceDataset
11
11
  from skorch.utils import is_dataset
12
12
 
13
13
  from braindecode.datasets.base import BaseConcatDataset, WindowsDataset
14
-
15
- # from braindecode.models.util import SigArgName
14
+ from braindecode.models.util import SigArgName
16
15
 
17
16
  log = logging.getLogger(__name__)
18
17
 
@@ -79,16 +78,16 @@ def infer_signal_properties(
79
78
  y=None,
80
79
  mode: Literal["classification", "regression"] = "classification",
81
80
  classes: list | None = None,
82
- ) -> dict[str, Any]: # TODO
81
+ ) -> dict[SigArgName, Any]:
83
82
  """Infers signal properties from the data.
84
83
 
85
84
  The extracted signal properties are:
86
85
 
87
- * n_chans: number of channels
88
- * n_times: number of time points
89
- * n_outputs: number of outputs
90
- * chs_info: channel information
91
- * sfreq: sampling frequency
86
+ + n_chans: number of channels
87
+ + n_times: number of time points
88
+ + n_outputs: number of outputs
89
+ + chs_info: channel information
90
+ + sfreq: sampling frequency
92
91
 
93
92
  The returned dictionary can serve as kwargs for model initialization.
94
93
 
@@ -111,7 +110,7 @@ def infer_signal_properties(
111
110
  Dictionary with signal-properties. Can serve as kwargs for model
112
111
  initialization.
113
112
  """
114
- signal_kwargs = dict()
113
+ signal_kwargs: dict[SigArgName, Any] = {}
115
114
  # Using shape to work both with torch.tensor and numpy.array:
116
115
  if (
117
116
  isinstance(X, mne.BaseEpochs)
@@ -32,6 +32,7 @@ from .luna import LUNA
32
32
  from .medformer import MEDFormer
33
33
  from .msvtnet import MSVTNet
34
34
  from .patchedtransformer import PBT
35
+ from .reve import REVE
35
36
  from .sccnet import SCCNet
36
37
  from .shallow_fbcsp import ShallowFBCSPNet
37
38
  from .signal_jepa import (
@@ -93,6 +94,7 @@ __all__ = [
93
94
  "MEDFormer",
94
95
  "MSVTNet",
95
96
  "PBT",
97
+ "REVE",
96
98
  "SCCNet",
97
99
  "ShallowFBCSPNet",
98
100
  "SignalJEPA",
@@ -15,7 +15,7 @@ from braindecode.modules import CausalConv1d, Ensure4d, MaxNormLinear
15
15
  class ATCNet(EEGModuleMixin, nn.Module):
16
16
  """ATCNet from Altaheri et al. (2022) [1]_.
17
17
 
18
- :bdg-success:`Convolution` :bdg-secondary:`Recurrent` :bdg-info:`Small Attention`
18
+ :bdg-success:`Convolution` :bdg-secondary:`Recurrent` :bdg-info:`Attention/Transformer`
19
19
 
20
20
  .. figure:: https://user-images.githubusercontent.com/25565236/185449791-e8539453-d4fa-41e1-865a-2cf7e91f60ef.png
21
21
  :align: center
@@ -26,7 +26,7 @@ from braindecode.modules.attention import (
26
26
  class AttentionBaseNet(EEGModuleMixin, nn.Module):
27
27
  """AttentionBaseNet from Wimpff M et al. (2023) [Martin2023]_.
28
28
 
29
- :bdg-success:`Convolution` :bdg-info:`Small Attention`
29
+ :bdg-success:`Convolution` :bdg-info:`Attention/Transformer`
30
30
 
31
31
  .. figure:: https://content.cld.iop.org/journals/1741-2552/21/3/036020/revision2/jnead48b9f2_hr.jpg
32
32
  :align: center
@@ -18,7 +18,7 @@ from braindecode.modules import CausalConv1d
18
18
  class AttnSleep(EEGModuleMixin, nn.Module):
19
19
  """Sleep Staging Architecture from Eldele et al. (2021) [Eldele2021]_.
20
20
 
21
- :bdg-success:`Convolution` :bdg-info:`Small Attention`
21
+ :bdg-success:`Convolution` :bdg-info:`Attention/Transformer`
22
22
 
23
23
  .. figure:: https://raw.githubusercontent.com/emadeldeen24/AttnSleep/refs/heads/main/imgs/AttnSleep.png
24
24
  :align: center
@@ -10,7 +10,7 @@ from braindecode.models.base import EEGModuleMixin
10
10
  class BENDR(EEGModuleMixin, nn.Module):
11
11
  """BENDR (BErt-inspired Neural Data Representations) from Kostas et al. (2021) [bendr]_.
12
12
 
13
- :bdg-success:`Convolution` :bdg-danger:`Large Brain Model`
13
+ :bdg-success:`Convolution` :bdg-danger:`Foundation Model`
14
14
 
15
15
  .. figure:: https://www.frontiersin.org/files/Articles/653659/fnhum-15-653659-HTML/image_m/fnhum-15-653659-g001.jpg
16
16
  :align: center
@@ -11,7 +11,7 @@ from braindecode.models.base import EEGModuleMixin
11
11
  class BIOT(EEGModuleMixin, nn.Module):
12
12
  """BIOT from Yang et al. (2023) [Yang2023]_
13
13
 
14
- :bdg-danger:`Large Brain Model`
14
+ :bdg-danger:`Foundation Model`
15
15
 
16
16
  .. figure:: https://braindecode.org/dev/_static/model/biot.jpg
17
17
  :align: center
@@ -19,7 +19,7 @@ class BIOT(EEGModuleMixin, nn.Module):
19
19
 
20
20
  BIOT: Cross-data Biosignal Learning in the Wild.
21
21
 
22
- BIOT is a large brain model for biosignal classification. It is
22
+ BIOT is a foundation model for biosignal classification. It is
23
23
  a wrapper around the `BIOTEncoder` and `ClassificationHead` modules.
24
24
 
25
25
  It is designed for N-dimensional biosignal data such as EEG, ECG, etc.
@@ -1,5 +1,3 @@
1
- import functools
2
- import operator
3
1
  from collections.abc import Callable
4
2
  from inspect import signature
5
3
  from types import UnionType
@@ -59,10 +57,25 @@ SIGNAL_ARGS_TYPES = {
59
57
  }
60
58
 
61
59
 
60
+ class BaseBraindecodeModelConfig(pydantic.BaseModel): # type: ignore
61
+ def create_instance(self) -> EEGModuleMixin:
62
+ model_cls = models_dict[self.model_name_]
63
+ kwargs = self.model_dump(mode="python", exclude={"model_name_"})
64
+ if kwargs.get("n_chans") is not None and kwargs.get("chs_info") is not None:
65
+ kwargs.pop("n_chans")
66
+ if (
67
+ kwargs.get("n_times") is not None
68
+ and kwargs.get("input_window_seconds") is not None
69
+ and kwargs.get("sfreq") is not None
70
+ ):
71
+ kwargs.pop("n_times")
72
+ return model_cls(**kwargs)
73
+
74
+
62
75
  def make_model_config(
63
76
  model_class: type[EEGModuleMixin],
64
77
  required: list[SigArgName],
65
- ):
78
+ ) -> type[BaseBraindecodeModelConfig]:
66
79
  """Create a pydantic model config for a given model class.
67
80
 
68
81
  Parameters
@@ -84,18 +97,6 @@ def make_model_config(
84
97
  )
85
98
 
86
99
  # ironically, we need to ignore the type here to have the soft dependency.
87
- class BaseBraindecodeModelConfig(pydantic.BaseModel): # type: ignore
88
- def create_instance(self) -> EEGModuleMixin:
89
- kwargs = self.model_dump(mode="python", exclude={"model_name_"})
90
- if kwargs.get("n_chans") is not None and kwargs.get("chs_info") is not None:
91
- kwargs.pop("n_chans")
92
- if (
93
- kwargs.get("n_times") is not None
94
- and kwargs.get("input_window_seconds") is not None
95
- and kwargs.get("sfreq") is not None
96
- ):
97
- kwargs.pop("n_times")
98
- return model_class(**kwargs)
99
100
 
100
101
  @pydantic.model_validator(mode="before")
101
102
  def validate_signal_params(cls, data: Any):
@@ -209,7 +210,7 @@ __all__ = ["make_model_config"]
209
210
  if not pydantic:
210
211
  pass
211
212
  else:
212
- models_configs = []
213
+ models_configs: list[type[BaseBraindecodeModelConfig]] = []
213
214
  for model_name, req, _ in models_mandatory_parameters:
214
215
  model_cls = models_dict[model_name]
215
216
  model_cfg = make_model_config(model_cls, req)
@@ -218,8 +219,10 @@ else:
218
219
  models_configs.append(model_cfg)
219
220
 
220
221
  BraindecodeModelConfig = Annotated[ # type: ignore
221
- functools.reduce(operator.or_, models_configs),
222
- pydantic.Field(discriminator="model_name_"),
222
+ Union[tuple(models_configs)],
223
+ pydantic.Field(
224
+ discriminator="model_name_", description="Braindecode model configuration"
225
+ ),
223
226
  ]
224
227
 
225
228
  # # Example usage:
@@ -27,7 +27,7 @@ from braindecode.modules import (
27
27
  class CTNet(EEGModuleMixin, nn.Module):
28
28
  """CTNet from Zhao, W et al (2024) [ctnet]_.
29
29
 
30
- :bdg-success:`Convolution` :bdg-info:`Small Attention`
30
+ :bdg-success:`Convolution` :bdg-info:`Attention/Transformer`
31
31
 
32
32
  A Convolutional Transformer Network for EEG-Based Motor Imagery Classification
33
33
 
@@ -14,7 +14,7 @@ from braindecode.modules import FeedForwardBlock, MultiHeadAttention
14
14
  class EEGConformer(EEGModuleMixin, nn.Module):
15
15
  """EEG Conformer from Song et al. (2022) [song2022]_.
16
16
 
17
- :bdg-success:`Convolution` :bdg-info:`Small Attention`
17
+ :bdg-success:`Convolution` :bdg-info:`Attention/Transformer`
18
18
 
19
19
  .. figure:: https://raw.githubusercontent.com/eeyhsong/EEG-Conformer/refs/heads/main/visualization/Fig1.png
20
20
  :align: center
@@ -23,7 +23,7 @@ from braindecode.modules import MLP, DropPath
23
23
  class Labram(EEGModuleMixin, nn.Module):
24
24
  """Labram from Jiang, W B et al (2024) [Jiang2024]_.
25
25
 
26
- :bdg-success:`Convolution` :bdg-danger:`Large Brain Model`
26
+ :bdg-success:`Convolution` :bdg-danger:`Foundation Model`
27
27
 
28
28
  .. figure:: https://arxiv.org/html/2405.18765v1/x1.png
29
29
  :align: center
@@ -29,7 +29,7 @@ from braindecode.modules.layers import DropPath
29
29
  class LUNA(EEGModuleMixin, nn.Module):
30
30
  """LUNA from Döner et al. [LUNA]_.
31
31
 
32
- :bdg-success:`Convolution` :bdg-danger:`Large Brain Model` :bdg-dark-line:`Channel`
32
+ :bdg-success:`Convolution` :bdg-danger:`Foundation Model` :bdg-dark-line:`Channel`
33
33
 
34
34
  .. figure:: https://arxiv.org/html/2510.22257v1/x1.png
35
35
  :align: center
@@ -20,7 +20,7 @@ from braindecode.models.base import EEGModuleMixin
20
20
  class MEDFormer(EEGModuleMixin, nn.Module):
21
21
  r"""Medformer from Wang et al. (2024) [Medformer2024]_.
22
22
 
23
- :bdg-success:`Convolution` :bdg-danger:`Large Brain Model`
23
+ :bdg-success:`Convolution` :bdg-danger:`Foundation Model`
24
24
 
25
25
  .. figure:: https://raw.githubusercontent.com/DL4mHealth/Medformer/refs/heads/main/figs/medformer_architecture.png
26
26
  :align: center
@@ -13,7 +13,7 @@ from braindecode.models.base import EEGModuleMixin
13
13
  class MSVTNet(EEGModuleMixin, nn.Module):
14
14
  """MSVTNet model from Liu K et al (2024) from [msvt2024]_.
15
15
 
16
- :bdg-success:`Convolution` :bdg-secondary:`Recurrent` :bdg-info:`Small Attention`
16
+ :bdg-success:`Convolution` :bdg-secondary:`Recurrent` :bdg-info:`Attention/Transformer`
17
17
 
18
18
  This model implements a multi-scale convolutional transformer network
19
19
  for EEG signal classification, as described in [msvt2024]_.
@@ -16,7 +16,7 @@ from braindecode.models.base import EEGModuleMixin
16
16
  class PBT(EEGModuleMixin, nn.Module):
17
17
  r"""Patched Brain Transformer (PBT) model from Klein et al. (2025) [pbt]_.
18
18
 
19
- :bdg-danger:`Large Brain Model`
19
+ :bdg-danger:`Foundation Model`
20
20
 
21
21
  This implementation was based in https://github.com/timonkl/PatchedBrainTransformer/
22
22
 
@@ -136,7 +136,7 @@ class PBT(EEGModuleMixin, nn.Module):
136
136
 
137
137
  .. warning::
138
138
 
139
- **Important:** As the other Large Brain Models in Braindecode, :class:`PBT` is
139
+ **Important:** As the other Foundation Models in Braindecode, :class:`PBT` is
140
140
  designed for large-scale pre-training and fine-tuning. Training from
141
141
  scratch on small datasets may lead to suboptimal results. Cross-Dataset
142
142
  pre-training and subsequent fine-tuning is recommended to leverage the