Shortcuts

EEGNet

class torcheeg.models.EEGNet(chunk_size: int = 151, num_electrodes: int = 60, F1: int = 8, F2: int = 16, D: int = 2, num_classes: int = 2, kernel_1: int = 64, kernel_2: int = 16, dropout: float = 0.25)[source][source]

A compact convolutional neural network (EEGNet). For more details, please refer to the following information.

Below is a recommended suite for use in emotion recognition tasks:

dataset = DEAPDataset(io_path=f'./deap',
            root_path='./data_preprocessed_python',
            online_transform=transforms.Compose([
                transforms.To2d()
                transforms.ToTensor(),
            ]),
            label_transform=transforms.Compose([
                transforms.Select('valence'),
                transforms.Binary(5.0),
            ]))
model = EEGNet(chunk_size=128,
               num_electrodes=32,
               dropout=0.5,
               kernel_1=64,
               kernel_2=16,
               F1=8,
               F2=16,
               D=2,
               num_classes=2)
Parameters
  • chunk_size (int) – Number of data points included in each EEG chunk, i.e., \(T\) in the paper. (defualt: 151)

  • num_electrodes (int) – The number of electrodes, i.e., \(C\) in the paper. (defualt: 60)

  • F1 (int) – The filter number of block 1, i.e., \(F_1\) in the paper. (defualt: 8)

  • F2 (int) – The filter number of block 2, i.e., \(F_2\) in the paper. (defualt: 16)

  • D (int) – The depth multiplier (number of spatial filters), i.e., \(D\) in the paper. (defualt: 2)

  • num_classes (int) – The number of classes to predict, i.e., \(N\) in the paper. (defualt: 2)

  • kernel_1 (int) – The filter size of block 1. (defualt: 64)

  • kernel_2 (int) – The filter size of block 2. (defualt: 64)

  • dropout (float) – Probability of an element to be zeroed in the dropout layers. (defualt: 0.25)

forward(x: Tensor) Tensor[source][source]
Parameters

x (torch.Tensor) – EEG signal representation, the ideal input shape is [n, 60, 151]. Here, n corresponds to the batch size, 60 corresponds to num_electrodes, and 151 corresponds to chunk_size.

Returns

the predicted probability that the samples belong to the classes.

Return type

torch.Tensor[number of sample, number of classes]

Docs

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources