Braindecode 1.6.1.dev1049__tar.gz → 1.6.1.dev1052__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 (172) hide show
  1. {braindecode-1.6.1.dev1049/braindecode.egg-info → braindecode-1.6.1.dev1052}/PKG-INFO +1 -1
  2. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/__init__.py +0 -2
  3. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/summary.csv +0 -1
  4. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/util.py +0 -1
  5. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/modules/__init__.py +1 -2
  6. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/modules/blocks.py +0 -82
  7. braindecode-1.6.1.dev1052/braindecode/version.py +1 -0
  8. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052/braindecode.egg-info}/PKG-INFO +1 -1
  9. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode.egg-info/SOURCES.txt +0 -1
  10. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/api.rst +0 -2
  11. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/whats_new.rst +0 -2
  12. braindecode-1.6.1.dev1049/braindecode/models/eegdino.py +0 -533
  13. braindecode-1.6.1.dev1049/braindecode/version.py +0 -1
  14. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/LICENSE.txt +0 -0
  15. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/MANIFEST.in +0 -0
  16. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/NOTICE.txt +0 -0
  17. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/README.rst +0 -0
  18. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/__init__.py +0 -0
  19. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/augmentation/__init__.py +0 -0
  20. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/augmentation/base.py +0 -0
  21. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/augmentation/functional.py +0 -0
  22. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/augmentation/transforms.py +0 -0
  23. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/classifier.py +0 -0
  24. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/__init__.py +0 -0
  25. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/base.py +0 -0
  26. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/bbci.py +0 -0
  27. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/bcicomp.py +0 -0
  28. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/bids/__init__.py +0 -0
  29. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/bids/datasets.py +0 -0
  30. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/bids/format.py +0 -0
  31. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/bids/hub.py +0 -0
  32. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/bids/hub_format.py +0 -0
  33. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/bids/hub_io.py +0 -0
  34. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/bids/hub_validation.py +0 -0
  35. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/bids/iterable.py +0 -0
  36. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/chb_mit.py +0 -0
  37. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/mne.py +0 -0
  38. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/moabb.py +0 -0
  39. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/nmt.py +0 -0
  40. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/registry.py +0 -0
  41. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/siena.py +0 -0
  42. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/sleep_physio_challe_18.py +0 -0
  43. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/sleep_physionet.py +0 -0
  44. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/tuh.py +0 -0
  45. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/utils.py +0 -0
  46. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datasets/xy.py +0 -0
  47. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datautil/__init__.py +0 -0
  48. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datautil/channel_utils.py +0 -0
  49. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datautil/hub_formats.py +0 -0
  50. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datautil/serialization.py +0 -0
  51. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/datautil/util.py +0 -0
  52. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/eegneuralnet.py +0 -0
  53. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/functional/__init__.py +0 -0
  54. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/functional/functions.py +0 -0
  55. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/functional/initialization.py +0 -0
  56. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/atcnet.py +0 -0
  57. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/attentionbasenet.py +0 -0
  58. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/attn_sleep.py +0 -0
  59. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/base.py +0 -0
  60. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/bendr.py +0 -0
  61. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/biot.py +0 -0
  62. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/brainmodule.py +0 -0
  63. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/cbramod.py +0 -0
  64. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/codebrain.py +0 -0
  65. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/config.py +0 -0
  66. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/contrawr.py +0 -0
  67. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/ctnet.py +0 -0
  68. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/deep4.py +0 -0
  69. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/deepsleepnet.py +0 -0
  70. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/dgcnn.py +0 -0
  71. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/eegconformer.py +0 -0
  72. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/eeginception_erp.py +0 -0
  73. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/eeginception_mi.py +0 -0
  74. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/eegitnet.py +0 -0
  75. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/eegminer.py +0 -0
  76. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/eegnet.py +0 -0
  77. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/eegnex.py +0 -0
  78. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/eegpt.py +0 -0
  79. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/eegsimpleconv.py +0 -0
  80. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/eegsym.py +0 -0
  81. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/eegtcnet.py +0 -0
  82. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/emg2qwerty.py +0 -0
  83. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/fbcnet.py +0 -0
  84. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/fblightconvnet.py +0 -0
  85. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/fbmsnet.py +0 -0
  86. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/hybrid.py +0 -0
  87. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/ifnet.py +0 -0
  88. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/interpolated.py +0 -0
  89. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/labram.py +0 -0
  90. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/luna.py +0 -0
  91. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/medformer.py +0 -0
  92. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/meta_neuromotor.py +0 -0
  93. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/msvtnet.py +0 -0
  94. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/patchedtransformer.py +0 -0
  95. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/reve.py +0 -0
  96. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/sccnet.py +0 -0
  97. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/shallow_fbcsp.py +0 -0
  98. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/signal_jepa.py +0 -0
  99. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/sinc_shallow.py +0 -0
  100. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/sleep_stager_blanco_2020.py +0 -0
  101. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/sleep_stager_chambon_2018.py +0 -0
  102. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/sparcnet.py +0 -0
  103. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/sstdpn.py +0 -0
  104. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/syncnet.py +0 -0
  105. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/tcn.py +0 -0
  106. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/tidnet.py +0 -0
  107. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/tsinception.py +0 -0
  108. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/models/usleep.py +0 -0
  109. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/modules/activation.py +0 -0
  110. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/modules/attention.py +0 -0
  111. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/modules/convolution.py +0 -0
  112. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/modules/filter.py +0 -0
  113. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/modules/interpolation.py +0 -0
  114. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/modules/layers.py +0 -0
  115. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/modules/linear.py +0 -0
  116. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/modules/parametrization.py +0 -0
  117. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/modules/stats.py +0 -0
  118. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/modules/util.py +0 -0
  119. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/modules/wrapper.py +0 -0
  120. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/preprocessing/__init__.py +0 -0
  121. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/preprocessing/eegprep_preprocess.py +0 -0
  122. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/preprocessing/mne_preprocess.py +0 -0
  123. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/preprocessing/preprocess.py +0 -0
  124. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/preprocessing/util.py +0 -0
  125. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/preprocessing/windowers.py +0 -0
  126. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/regressor.py +0 -0
  127. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/samplers/__init__.py +0 -0
  128. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/samplers/base.py +0 -0
  129. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/samplers/ssl.py +0 -0
  130. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/training/__init__.py +0 -0
  131. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/training/callbacks.py +0 -0
  132. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/training/losses.py +0 -0
  133. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/training/scoring.py +0 -0
  134. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/util.py +0 -0
  135. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/visualization/__init__.py +0 -0
  136. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/visualization/attribution.py +0 -0
  137. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/visualization/confusion_matrices.py +0 -0
  138. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/visualization/frequency.py +0 -0
  139. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/visualization/metrics.py +0 -0
  140. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/visualization/sanity.py +0 -0
  141. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode/visualization/topology.py +0 -0
  142. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode.egg-info/dependency_links.txt +0 -0
  143. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode.egg-info/requires.txt +0 -0
  144. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/braindecode.egg-info/top_level.txt +0 -0
  145. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/Makefile +0 -0
  146. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/_templates/autosummary/class.rst +0 -0
  147. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/_templates/autosummary/class_in_subdir.rst +0 -0
  148. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/_templates/autosummary/function.rst +0 -0
  149. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/_templates/autosummary/function_in_subdir.rst +0 -0
  150. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/cite.rst +0 -0
  151. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/conf.py +0 -0
  152. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/help.rst +0 -0
  153. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/index.rst +0 -0
  154. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/install/install.rst +0 -0
  155. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/install/install_pip.rst +0 -0
  156. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/install/install_source.rst +0 -0
  157. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/models/categorization/attention.rst +0 -0
  158. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/models/categorization/channel.rst +0 -0
  159. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/models/categorization/convolution.rst +0 -0
  160. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/models/categorization/filterbank.rst +0 -0
  161. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/models/categorization/gnn.rst +0 -0
  162. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/models/categorization/interpretable.rst +0 -0
  163. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/models/categorization/lbm.rst +0 -0
  164. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/models/categorization/recurrent.rst +0 -0
  165. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/models/categorization/spd.rst +0 -0
  166. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/models/models.rst +0 -0
  167. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/models/models_categorization.rst +0 -0
  168. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/models/models_table.rst +0 -0
  169. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/models/models_visualization.rst +0 -0
  170. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/docs/sg_execution_times.rst +0 -0
  171. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/pyproject.toml +0 -0
  172. {braindecode-1.6.1.dev1049 → braindecode-1.6.1.dev1052}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.6.1.dev1049
3
+ Version: 1.6.1.dev1052
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>
@@ -15,7 +15,6 @@ from .deep4 import Deep4Net
15
15
  from .deepsleepnet import DeepSleepNet
16
16
  from .dgcnn import DGCNN
17
17
  from .eegconformer import EEGConformer
18
- from .eegdino import EEGDINO
19
18
  from .eeginception_erp import EEGInceptionERP
20
19
  from .eeginception_mi import EEGInceptionMI
21
20
  from .eegitnet import EEGITNet
@@ -85,7 +84,6 @@ __all__ = [
85
84
  "DeepSleepNet",
86
85
  "BrainModule",
87
86
  "EEGConformer",
88
- "EEGDINO",
89
87
  "EEGPT",
90
88
  "InterpolatedEEGPT",
91
89
  "EEGInceptionERP",
@@ -56,4 +56,3 @@ InterpolatedBIOT,"Sleep Staging, Epilepsy",Classification,200,"chs_info, n_outpu
56
56
  InterpolatedEEGPT,General,Classification,256,"chs_info, n_outputs, n_times",25323137,"InterpolatedEEGPT(chs_info=<user>, n_outputs=4, n_times=1024)","Foundation Model,Attention/Transformer,Channel"
57
57
  InterpolatedLaBraM,General,"Classification, Embedding",200,"chs_info, n_outputs, n_times",5866196,"InterpolatedLaBraM(chs_info=<user>, n_outputs=4, n_times=1000)","Convolution,Foundation Model,Channel"
58
58
  InterpolatedSignalJEPA,"Motor Imagery, ERP, SSVEP",Embedding,128,"chs_info",3456882,"InterpolatedSignalJEPA(chs_info=<user>)","Convolution,Channel,Foundation Model"
59
- EEGDINO,General,Classification,200,"n_chans, n_outputs, n_times",4539698,"EEGDINO(n_chans=19, n_outputs=4, n_times=1000)","Foundation Model,Attention/Transformer"
@@ -432,7 +432,6 @@ models_mandatory_parameters: list[
432
432
  {"n_chans": 19, "n_times": 6000},
433
433
  ),
434
434
  ("DGCNN", ["n_chans", "n_outputs", "n_times", "chs_info"], None),
435
- ("EEGDINO", ["n_chans", "n_outputs", "n_times"], None),
436
435
  ]
437
436
 
438
437
  ################################################################
@@ -14,7 +14,7 @@ from .attention import (
14
14
  MultiHeadAttention,
15
15
  SqueezeAndExcitation,
16
16
  )
17
- from .blocks import MLP, FeedForwardBlock, InceptionBlock, PatchTokenizer
17
+ from .blocks import MLP, FeedForwardBlock, InceptionBlock
18
18
  from .convolution import (
19
19
  AvgPool2dWithConv,
20
20
  CausalConv1d,
@@ -68,7 +68,6 @@ __all__ = [
68
68
  "MLP",
69
69
  "FeedForwardBlock",
70
70
  "InceptionBlock",
71
- "PatchTokenizer",
72
71
  "AvgPool2dWithConv",
73
72
  "CausalConv1d",
74
73
  "CombinedConv",
@@ -1,89 +1,7 @@
1
- from warnings import warn
2
-
3
1
  import torch
4
2
  from torch import nn
5
3
 
6
4
 
7
- class PatchTokenizer(nn.Module):
8
- r"""Tokenize an EEG signal into non-overlapping temporal patches.
9
-
10
- Transforms ``(batch, n_chans, n_times)`` into
11
- ``(batch, n_chans, n_patches, patch_dim)`` by splitting the time axis into
12
- non-overlapping patches of ``patch_size`` samples. This is the shared
13
- patch / "tokenization" step used by transformer EEG foundation models
14
- (e.g. LaBraM, CBraMod, EEG-DINO).
15
-
16
- As in the filter-bank models (:class:`~braindecode.models.FBCNet`,
17
- :class:`~braindecode.models.FBMSNet`), when ``n_times`` is not a multiple of
18
- ``patch_size`` the input is right zero-padded (a warning is emitted at
19
- construction); it is never an error.
20
-
21
- Two modes:
22
-
23
- - **non-learnable** (``learnable=False``, default): a pure reshape, so
24
- ``patch_dim == patch_size`` and the raw samples of each patch are kept
25
- (the patch embedding, if any, lives in the model).
26
- - **learnable** (``learnable=True``): a strided ``Conv1d`` (kernel and
27
- stride equal to ``patch_size``, applied per channel) maps each patch to
28
- ``emb_dim`` features, so ``patch_dim == emb_dim``.
29
-
30
- Parameters
31
- ----------
32
- patch_size : int
33
- Number of time samples per patch.
34
- n_times : int
35
- Number of time samples of the input, used to set up the right-padding
36
- when ``n_times`` is not a multiple of ``patch_size``.
37
- emb_dim : int, optional
38
- Output features per patch in learnable mode. Defaults to ``patch_size``.
39
- Ignored when ``learnable=False``.
40
- learnable : bool, default=False
41
- Whether the tokenizer is a learned convolution or a fixed reshape.
42
-
43
- Examples
44
- --------
45
- >>> import torch
46
- >>> from braindecode.modules import PatchTokenizer
47
- >>> tokenizer = PatchTokenizer(patch_size=200, n_times=1000)
48
- >>> tokenizer(torch.randn(2, 19, 1000)).shape
49
- torch.Size([2, 19, 5, 200])
50
- """
51
-
52
- def __init__(self, patch_size, n_times, emb_dim=None, learnable=False):
53
- super().__init__()
54
- self.patch_size = patch_size
55
- self.learnable = learnable
56
- self.emb_dim = (emb_dim or patch_size) if learnable else patch_size
57
- if n_times % patch_size:
58
- warn(
59
- f"Time dimension ({n_times}) is not divisible by patch_size "
60
- f"({patch_size}). Input will be padded.",
61
- UserWarning,
62
- )
63
- self.padding_layer = nn.ConstantPad1d(
64
- (0, patch_size - n_times % patch_size), 0.0
65
- )
66
- else:
67
- self.padding_layer = nn.Identity()
68
- # Defined unconditionally (Identity when not learnable) so the attribute
69
- # always exists for torch.jit.script, which type-checks both branches.
70
- if learnable:
71
- self.patcher = nn.Conv1d(1, self.emb_dim, patch_size, stride=patch_size)
72
- else:
73
- self.patcher = nn.Identity()
74
-
75
- def forward(self, x):
76
- x = self.padding_layer(x)
77
- batch_size, n_chans, _ = x.shape
78
- if self.learnable:
79
- x = x.flatten(0, 1).unsqueeze(1) # (batch * chans, 1, time)
80
- x = self.patcher(x) # (batch * chans, emb, patches)
81
- return x.reshape(batch_size, n_chans, x.shape[-2], x.shape[-1]).permute(
82
- 0, 1, 3, 2
83
- )
84
- return x.reshape(batch_size, n_chans, -1, self.patch_size)
85
-
86
-
87
5
  class InceptionBlock(nn.Module):
88
6
  """
89
7
  Inception block module.
@@ -0,0 +1 @@
1
+ __version__ = "1.6.1.dev1052"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: braindecode
3
- Version: 1.6.1.dev1049
3
+ Version: 1.6.1.dev1052
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>
@@ -67,7 +67,6 @@ braindecode/models/deep4.py
67
67
  braindecode/models/deepsleepnet.py
68
68
  braindecode/models/dgcnn.py
69
69
  braindecode/models/eegconformer.py
70
- braindecode/models/eegdino.py
71
70
  braindecode/models/eeginception_erp.py
72
71
  braindecode/models/eeginception_mi.py
73
72
  braindecode/models/eegitnet.py
@@ -143,7 +143,6 @@ interface for all EEG models and can derive variable names when needed.
143
143
  Deep4Net
144
144
  DeepSleepNet
145
145
  EEGConformer
146
- EEGDINO
147
146
  EEGInceptionERP
148
147
  EEGInceptionMI
149
148
  EEGITNet
@@ -256,7 +255,6 @@ perceptrons (MLPs) and inception blocks.
256
255
  MLP
257
256
  FeedForwardBlock
258
257
  InceptionBlock
259
- PatchTokenizer
260
258
 
261
259
  Convolution
262
260
  ===========
@@ -36,8 +36,6 @@ Enhancements
36
36
  variant of :class:`braindecode.models.EEGPT` built with
37
37
  :func:`~braindecode.models.interpolated.InterpolatedModel`.
38
38
  By `Pierre Guetschel`_.
39
- - Add :class:`braindecode.models.EEGDINO`, the EEG-DINO self-distillation
40
- foundation model (Small/Medium/Large) with pretrained S/M weights. By `Bruno Aristimunha`_.
41
39
 
42
40
  API and behavior changes
43
41
  ========================