Skip to content

sbsat

SBSATDataModule

Bases: ETDataModuleFast

A PyTorch Lightning data module for the eye tracking data.

Attributes:

Name Type Description
cfg Args

The configuration object.

text_dataset_path Path

The path to the text dataset.

train_dataset SBSATDataSet

The training dataset.

val_datasets list[SBSATDataSet]

The validation datasets.

test_datasets list[SBSATDataSet]

The test datasets.

Source code in src/data/datamodules/sbsat.py
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
@register_datamodule
class SBSATDataModule(ETDataModuleFast):
    """
    A PyTorch Lightning data module for the eye tracking data.

    Attributes:
        cfg (Args): The configuration object.
        text_dataset_path (Path): The path to the text dataset.
        train_dataset (SBSATDataSet): The training dataset.
        val_datasets (list[SBSATDataSet]): The validation datasets.
        test_datasets (list[SBSATDataSet]): The test datasets.
    """

    def create_etdataset(
        self,
        ia_scaler: MinMaxScaler | RobustScaler | StandardScaler | None,
        fixation_scaler: MinMaxScaler | RobustScaler | StandardScaler | None,
        trial_features_scaler: MinMaxScaler | RobustScaler | StandardScaler | None,
        set_name: SetNames,
        regime_name: SetNames,
    ) -> SBSATDataset:
        """
        Create an SBSATDataSet instance for the given keys.

        Args:
            ia_scaler (MinMaxScaler | RobustScaler | StandardScaler): The IA scaler.
            fixation_scaler (MinMaxScaler | RobustScaler | StandardScaler | None): Fixation scaler.
            trial_features_scaler (MinMaxScaler | RobustScaler | StandardScaler | None):
                The trial features scaler.
            regime_name (SetNames): The name of the regime (e.g., unseen_subject_seen_item).
            set_name (SetNames): The name of the set (e.g., train, test, val).

        Returns:
            ETDataset: The created ETDataset instance.
        """
        text_data = None if self.cfg.model.use_eyes_only else self.load_text_dataset()

        dataset = SBSATDataset(
            cfg=self.cfg,
            ia_scaler=ia_scaler,
            fixation_scaler=fixation_scaler,
            trial_features_scaler=trial_features_scaler,
            regime_name=regime_name,
            set_name=set_name,
            text_data=text_data,
        )

        return dataset

create_etdataset(ia_scaler, fixation_scaler, trial_features_scaler, set_name, regime_name)

Create an SBSATDataSet instance for the given keys.

Parameters:

Name Type Description Default
ia_scaler MinMaxScaler | RobustScaler | StandardScaler

The IA scaler.

required
fixation_scaler MinMaxScaler | RobustScaler | StandardScaler | None

Fixation scaler.

required
trial_features_scaler MinMaxScaler | RobustScaler | StandardScaler | None

The trial features scaler.

required
regime_name SetNames

The name of the regime (e.g., unseen_subject_seen_item).

required
set_name SetNames

The name of the set (e.g., train, test, val).

required

Returns:

Name Type Description
ETDataset SBSATDataset

The created ETDataset instance.

Source code in src/data/datamodules/sbsat.py
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
def create_etdataset(
    self,
    ia_scaler: MinMaxScaler | RobustScaler | StandardScaler | None,
    fixation_scaler: MinMaxScaler | RobustScaler | StandardScaler | None,
    trial_features_scaler: MinMaxScaler | RobustScaler | StandardScaler | None,
    set_name: SetNames,
    regime_name: SetNames,
) -> SBSATDataset:
    """
    Create an SBSATDataSet instance for the given keys.

    Args:
        ia_scaler (MinMaxScaler | RobustScaler | StandardScaler): The IA scaler.
        fixation_scaler (MinMaxScaler | RobustScaler | StandardScaler | None): Fixation scaler.
        trial_features_scaler (MinMaxScaler | RobustScaler | StandardScaler | None):
            The trial features scaler.
        regime_name (SetNames): The name of the regime (e.g., unseen_subject_seen_item).
        set_name (SetNames): The name of the set (e.g., train, test, val).

    Returns:
        ETDataset: The created ETDataset instance.
    """
    text_data = None if self.cfg.model.use_eyes_only else self.load_text_dataset()

    dataset = SBSATDataset(
        cfg=self.cfg,
        ia_scaler=ia_scaler,
        fixation_scaler=fixation_scaler,
        trial_features_scaler=trial_features_scaler,
        regime_name=regime_name,
        set_name=set_name,
        text_data=text_data,
    )

    return dataset