Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DRAFT] MOABB: Redesign DataIO for better efficiency and flexibility #55

Open
wants to merge 32 commits into
base: develop-eeg
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
eeae555
introduce initial proposal
Drew-Wagner Jan 28, 2025
6e98db9
implemented epoched dataset
Drew-Wagner Jan 29, 2025
b5bbe5b
clip tmin / tmax
Drew-Wagner Jan 29, 2025
22a1e1d
optimizations, preloading, and comparisons to braindecode
Drew-Wagner Jan 30, 2025
325889d
create datasets.py file and add documentation
Drew-Wagner Jan 31, 2025
df3de7d
example of combined bandpass filtering and resampling
Drew-Wagner Feb 4, 2025
1afa4a3
update bandpass/resample exampl to use mne
Drew-Wagner Feb 4, 2025
81c75cd
InMemoryDataset wrapper delegates all methods / instance checks to wr…
Drew-Wagner Feb 5, 2025
0866913
Implement data splitter
Drew-Wagner Feb 5, 2025
bbf00f4
remove unused import
Drew-Wagner Feb 7, 2025
774122f
Implement cross-subject, cross-session, cross-datasest
Drew-Wagner Feb 7, 2025
f83d708
[EHN] changing the import order
bruAristimunha Feb 18, 2025
9aa8a60
[FIX] fixing the test function
bruAristimunha Feb 18, 2025
c0e92d8
[FIX] fixing the test function
bruAristimunha Feb 18, 2025
24fab22
[FIX] Docstring
bruAristimunha Feb 18, 2025
b1ecaa0
Cleaning the requirements
bruAristimunha Feb 18, 2025
ea315fe
more docstring fix
bruAristimunha Feb 18, 2025
05baafc
adding __init__ file
bruAristimunha Feb 18, 2025
5989597
[EHN] pre-processing inside one file
bruAristimunha Feb 18, 2025
49f978e
[EHN] creating some tests
bruAristimunha Feb 18, 2025
15da349
[EHN] update the __init__
bruAristimunha Feb 18, 2025
ed6b622
[EHN] fixing the pre-commit
bruAristimunha Feb 18, 2025
f1c2d49
[EHN] including the workflow to run the tests
bruAristimunha Feb 18, 2025
8f2f311
[EHN] including the workflow to run the tests
bruAristimunha Feb 18, 2025
069ab73
formatting fix
Drew-Wagner Feb 7, 2025
80fa269
fix type bug in splitter
Drew-Wagner Feb 18, 2025
c2d806b
[FIX] fixing the tests
bruAristimunha Feb 18, 2025
8c95edd
[FIX] fixing the tests
bruAristimunha Feb 18, 2025
c5a35ff
[FIX] fixing the tests
bruAristimunha Feb 18, 2025
3913714
[FIX] fixing the tests
bruAristimunha Feb 18, 2025
6dd033c
[DOC] docstring
bruAristimunha Feb 18, 2025
f487e17
[DOC] all good!
bruAristimunha Feb 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# SpeechBrain Benchmark tests to ease continuous integration
name: SpeechBrain Benchmark test

# Runs on pushes to master and all pull requests
on: # yamllint disable-line rule:truthy
push:
branches: [main, develop]
pull_request:
branches:
- '*' # all branches, including forks

jobs:
tests:
name: Tests
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.11] # python 3.12 is not working for some strange reason
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
id: cache-uv
with:
path: ~/.cache/uv
key: ${{ runner.os }}-python-${{ matrix.python-version }}-uv
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Full dependencies
run: |
pip install uv
uv pip install --system -r requirements.txt
cd benchmarks/MOABB && uv pip install --system -r extra-requirements.txt
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Consistency tests with pytest
run: |
pytest tests
21 changes: 21 additions & 0 deletions benchmarks/MOABB/dataio/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
"""Utils functions to run the benchmark study on EEG Decoding."""

from .datasets import InMemoryDataset, EpochedEEGDataset, RawEEGDataset
from .splitters import (
CrossSessionSplitter,
CrossDatasetSplitter,
CrossSubjectSplitter,
)
from .splitters import LeaveKOutSplitter, MetadataSplitter


__all__ = [
"InMemoryDataset",
"EpochedEEGDataset",
"RawEEGDataset",
"MetadataSplitter",
"LeaveKOutSplitter",
"CrossSubjectSplitter",
"CrossSessionSplitter",
"CrossDatasetSplitter",
]
Loading
Loading