Shortcuts

CCNN

class torcheeg.models.CCNN(in_channels: int = 4, grid_size: Tuple[int, int] = (9, 9), num_classes: int = 2, dropout: float = 0.5)[source][source]

Continuous Convolutional Neural Network (CCNN). For more details, please refer to the following information.

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

from torcheeg.datasets import DEAPDataset
from torcheeg import transforms
from torcheeg.datasets.constants import DEAP_CHANNEL_LOCATION_DICT
from torcheeg.models import CCNN
from torch.utils.data import DataLoader

dataset = DEAPDataset(root_path='./data_preprocessed_python',
                      offline_transform=transforms.Compose([
                          transforms.BandDifferentialEntropy(),
                          transforms.ToGrid(DEAP_CHANNEL_LOCATION_DICT)
                      ]),
                      online_transform=transforms.ToTensor(),
                      label_transform=transforms.Compose([
                          transforms.Select('valence'),
                          transforms.Binary(5.0),
                      ]))

model = CCNN(num_classes=2, in_channels=4, grid_size=(9, 9))

x, y = next(iter(DataLoader(dataset, batch_size=64)))
model(x)
Parameters:
  • in_channels (int) – The feature dimension of each electrode. (default: 4)

  • grid_size (tuple) – Spatial dimensions of grid-like EEG representation. (default: (9, 9))

  • num_classes (int) – The number of classes to predict. (default: 2)

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

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

x (torch.Tensor) – EEG signal representation, the ideal input shape is [n, 4, 9, 9]. Here, n corresponds to the batch size, 4 corresponds to in_channels, and (9, 9) corresponds to grid_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