braindecode.models.SleepStagerBlanco2020

class braindecode.models.SleepStagerBlanco2020(n_channels, sfreq, n_conv_chans=20, input_size_s=30, n_classes=5, n_groups=2, max_pool_size=2, dropout=0.5, apply_batch_norm=False, return_feats=False)

Sleep staging architecture from Blanco et al 2020.

Convolutional neural network for sleep staging described in [Blanco2020]. A series of seven convolutional layers with kernel sizes running down from 7 to 3, in an attempt to extract more general features at the beginning, while more specific and complex features were extracted in the final stages.

Parameters
n_channelsint

Number of EEG channels.

sfreqfloat

EEG sampling frequency.

n_conv_chansint

Number of convolutional channels. Set to 20 in [Blanco2020].

n_groupsint

Number of groups for the convolution. Set to 2 in [Blanco2020] for 2 Channel EEG. controls the connections between inputs and outputs. n_channels and n_conv_chans must be divisible by n_groups.

input_size_sfloat

Size of the input, in seconds.

n_classesint

Number of classes.

dropoutfloat

Dropout rate before the output dense layer.

apply_batch_normbool

If True, apply batch normalization after both temporal convolutional layers.

return_featsbool

If True, return the features, i.e. the output of the feature extractor (before the final linear layer). If False, pass the features through the final linear layer.

References

Blanco2020(1,2,3)

Fernandez-Blanco, E., Rivero, D. & Pazos, A. Convolutional neural networks for sleep stage scoring on a two-channel EEG signal. Soft Comput 24, 4067–4079 (2020). https://doi.org/10.1007/s00500-019-04174-1

Methods

forward(x)

Forward pass. Parameters ———- x: torch.Tensor

Batch of EEG windows of shape (batch_size, n_channels, n_times).