def __init__(
        self,
        experience: DatasetExperience,
        experience_size: int,
        shuffle: bool = True,
        drop_last: bool = False,
        access_task_boundaries: bool = False,
        seed: int = None,
    ) -> None:
        """Returns a lazy stream generated by splitting an experience into
        smaller ones.

        Splits the experience in smaller experiences of size `experience_size`.

        Experience decorators (e.g. class attributes) will be stripped from the
        experience. You will need to re-apply them to the resulting experiences
        if you need them.

        :param experience: The experience to split.
        :param experience_size: The experience size (number of instances).
        :param shuffle: If True, instances will be shuffled before splitting.
        :param drop_last: If True, the last mini-experience will be dropped if
            not of size `experience_size`.
        :param seed: random seed for shuffling the data if `shuffle == True`.
        :return: The list of datasets that will be used to create the
            mini-experiences.
        """
        self.experience = experience
        self.experience_size = experience_size
        self.shuffle = shuffle
        self.drop_last = drop_last
        self.access_task_boundaries = access_task_boundaries
        self.seed = seed

        # we need to fix the seed because repeated calls to the generator
        # must return the same order every time.
        if seed is None:
            self.seed = random.randint(0, 2**32 - 1)
Returns a lazy stream generated by splitting an experience into
        smaller ones.

        Splits the experience in smaller experiences of size `experience_size`.

        Experience decorators (e.g. class attributes) will be stripped from the
        experience. You will need to re-apply them to the resulting experiences
        if you need them.

        :param experience: The experience to split.
        :param experience_size: The experience size (number of instances).
        :param shuffle: If True, instances will be shuffled before splitting.
        :param drop_last: If True, the last mini-experience will be dropped if
            not of size `experience_size`.
        :param seed: random seed for shuffling the data if `shuffle == True`.
        :return: The list of datasets that will be used to create the
            mini-experiences.
        
avalanche/benchmarks/scenarios/online.py