Skip to content

Commit bfbefc3

Browse files
1 parent 25b9bb6 commit bfbefc3

File tree

196 files changed

+13453
-46109
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

196 files changed

+13453
-46109
lines changed
Binary file not shown.

master/_downloads/22c027ac1764bd1e50c7597f407c49bb/plot_bcic_iv_4_ecog_cropped.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@
224224
},
225225
"outputs": [],
226226
"source": [
227-
"from skorch.callbacks import LRScheduler\nfrom skorch.helper import predefined_split\n\nfrom braindecode.training import TimeSeriesLoss\nfrom braindecode import EEGRegressor\nfrom braindecode.training import CroppedTimeSeriesEpochScoring\n\n# These values we found good for shallow network for EEG MI decoding:\nlr = 0.0625 * 0.01\nweight_decay = 0\nbatch_size = 64\nn_epochs = 8\n\nregressor = EEGRegressor(\n model,\n cropped=True,\n aggregate_predictions=False,\n criterion=TimeSeriesLoss,\n criterion__loss_function=torch.nn.functional.mse_loss,\n optimizer=torch.optim.AdamW,\n train_split=predefined_split(valid_set),\n optimizer__lr=lr,\n optimizer__weight_decay=weight_decay,\n iterator_train__shuffle=True,\n batch_size=batch_size,\n callbacks=[\n (\"lr_scheduler\", LRScheduler('CosineAnnealingLR', T_max=n_epochs - 1)),\n ('r2_train', CroppedTimeSeriesEpochScoring(sklearn.metrics.r2_score,\n lower_is_better=False,\n on_train=True,\n name='r2_train')\n ),\n ('r2_valid', CroppedTimeSeriesEpochScoring(sklearn.metrics.r2_score,\n lower_is_better=False,\n on_train=False,\n name='r2_valid')\n )\n ],\n device=device,\n)\nset_log_level(verbose='WARNING')"
227+
"from skorch.callbacks import LRScheduler\nfrom skorch.helper import predefined_split\n\nfrom braindecode.training import TimeSeriesLoss\nfrom braindecode import EEGRegressor\nfrom braindecode.training import CroppedTimeSeriesEpochScoring\n\n# These values we found good for shallow network for EEG MI decoding:\nlr = 0.0625 * 0.01\nweight_decay = 0\nbatch_size = 27 # only 27 examples in train set, otherwise set to 64\nn_epochs = 8\n\nregressor = EEGRegressor(\n model,\n cropped=True,\n aggregate_predictions=False,\n criterion=TimeSeriesLoss,\n criterion__loss_function=torch.nn.functional.mse_loss,\n optimizer=torch.optim.AdamW,\n train_split=predefined_split(valid_set),\n optimizer__lr=lr,\n optimizer__weight_decay=weight_decay,\n iterator_train__shuffle=True,\n batch_size=batch_size,\n callbacks=[\n (\"lr_scheduler\", LRScheduler('CosineAnnealingLR', T_max=n_epochs - 1)),\n ('r2_train', CroppedTimeSeriesEpochScoring(sklearn.metrics.r2_score,\n lower_is_better=False,\n on_train=True,\n name='r2_train')\n ),\n ('r2_valid', CroppedTimeSeriesEpochScoring(sklearn.metrics.r2_score,\n lower_is_better=False,\n on_train=False,\n name='r2_valid')\n )\n ],\n device=device,\n)\nset_log_level(verbose='WARNING')"
228228
]
229229
},
230230
{

master/_downloads/3e0455c88adcaa2571230abb981020db/plot_relative_positioning.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@
170170
},
171171
"outputs": [],
172172
"source": [
173-
"import os\n\nfrom skorch.helper import predefined_split\nfrom skorch.callbacks import Checkpoint, EarlyStopping, EpochScoring\nfrom braindecode import EEGClassifier\n\nlr = 5e-3\nbatch_size = 512\nn_epochs = 25\nnum_workers = 0 if n_jobs <= 1 else n_jobs\n\ncp = Checkpoint(dirname='', f_criterion=None, f_optimizer=None, f_history=None)\nearly_stopping = EarlyStopping(patience=10)\ntrain_acc = EpochScoring(\n scoring='accuracy', on_train=True, name='train_acc', lower_is_better=False)\nvalid_acc = EpochScoring(\n scoring='accuracy', on_train=False, name='valid_acc',\n lower_is_better=False)\ncallbacks = [\n ('cp', cp),\n ('patience', early_stopping),\n ('train_acc', train_acc),\n ('valid_acc', valid_acc)\n]\n\nclf = EEGClassifier(\n model,\n criterion=torch.nn.BCEWithLogitsLoss,\n optimizer=torch.optim.Adam,\n max_epochs=n_epochs,\n iterator_train__shuffle=False,\n iterator_train__sampler=train_sampler,\n iterator_valid__sampler=valid_sampler,\n iterator_train__num_workers=num_workers,\n iterator_valid__num_workers=num_workers,\n train_split=predefined_split(splitted['valid']),\n optimizer__lr=lr,\n batch_size=batch_size,\n callbacks=callbacks,\n device=device\n)\n# Model training for a specified number of epochs. `y` is None as it is already\n# supplied in the dataset.\nclf.fit(splitted['train'], y=None)\nclf.load_params(checkpoint=cp) # Load the model with the lowest valid_loss\n\nos.remove('./params.pt') # Delete parameters file"
173+
"import os\n\nfrom skorch.helper import predefined_split\nfrom skorch.callbacks import Checkpoint, EarlyStopping, EpochScoring\nfrom braindecode import EEGClassifier\n\nlr = 5e-3\nbatch_size = 128 # 512 if data large enough\nn_epochs = 25\nnum_workers = 0 if n_jobs <= 1 else n_jobs\n\ncp = Checkpoint(dirname='', f_criterion=None, f_optimizer=None, f_history=None)\nearly_stopping = EarlyStopping(patience=10)\ntrain_acc = EpochScoring(\n scoring='accuracy', on_train=True, name='train_acc', lower_is_better=False)\nvalid_acc = EpochScoring(\n scoring='accuracy', on_train=False, name='valid_acc',\n lower_is_better=False)\ncallbacks = [\n ('cp', cp),\n ('patience', early_stopping),\n ('train_acc', train_acc),\n ('valid_acc', valid_acc)\n]\n\nclf = EEGClassifier(\n model,\n criterion=torch.nn.BCEWithLogitsLoss,\n optimizer=torch.optim.Adam,\n max_epochs=n_epochs,\n iterator_train__shuffle=False,\n iterator_train__sampler=train_sampler,\n iterator_valid__sampler=valid_sampler,\n iterator_train__num_workers=num_workers,\n iterator_valid__num_workers=num_workers,\n train_split=predefined_split(splitted['valid']),\n optimizer__lr=lr,\n batch_size=batch_size,\n callbacks=callbacks,\n device=device\n)\n# Model training for a specified number of epochs. `y` is None as it is already\n# supplied in the dataset.\nclf.fit(splitted['train'], y=None)\nclf.load_params(checkpoint=cp) # Load the model with the lowest valid_loss\n\nos.remove('./params.pt') # Delete parameters file"
174174
]
175175
},
176176
{
Binary file not shown.

master/_downloads/dce0c540b9a673ff87c724934b4a0581/plot_bcic_iv_4_ecog_cropped.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@
287287
# These values we found good for shallow network for EEG MI decoding:
288288
lr = 0.0625 * 0.01
289289
weight_decay = 0
290-
batch_size = 64
290+
batch_size = 27 # only 27 examples in train set, otherwise set to 64
291291
n_epochs = 8
292292

293293
regressor = EEGRegressor(

master/_downloads/e21937efe066fc624a4b536dced68cd1/plot_relative_positioning.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ def forward(self, x):
307307
from braindecode import EEGClassifier
308308

309309
lr = 5e-3
310-
batch_size = 512
310+
batch_size = 128 # 512 if data large enough
311311
n_epochs = 25
312312
num_workers = 0 if n_jobs <= 1 else n_jobs
313313

Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)