def __init__(
        self,
        split_strategy: Callable[
            [AvalancheDataset],
            Tuple[AvalancheDataset, AvalancheDataset],
        ],
        experiences: Iterable[DatasetExperience],
    ) -> None:
        """
        Creates a generator operating around the split strategy and the
        experiences stream.

        :param split_strategy: The strategy used to split each experience in train
            and validation datasets.
        :return: A generator returning a 2 elements tuple (the train and validation
            datasets).
        """
        self.split_strategy = split_strategy
        self.experiences = experiences

        Creates a generator operating around the split strategy and the
        experiences stream.

        :param split_strategy: The strategy used to split each experience in train
            and validation datasets.
        :return: A generator returning a 2 elements tuple (the train and validation
            datasets).
        
avalanche/benchmarks/scenarios/dataset_scenario.py