braindecode 1.8.1.dev172484635__tar.gz → 1.8.1.dev172569382__tar.gz

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