def __iter__()

in datasets.py [0:0]


    def __iter__(self) -> Iterator[Tuple[torch.Tensor, torch.Tensor]]:
        """
        Iterate over this dataset.

        Yields:
          Samples from the dataset. The first element is the spectrograms and
          the second is the waveforms.
        """
        shuffle_buffer = []
        for clip_spec, clip_wave in self.raw_iter():
            if self.generate:
                yield clip_spec, clip_wave
                continue

            clips = self.extract_clips(clip_spec, clip_wave)
            if self.validation:
                # When validation, any order is fine.
                yield from clips
            else:
                # For training, we want some randomness, so keep a shuffle
                # buffer. When the shuffle buffer is full, shuffle it and yield
                # all samples.
                shuffle_buffer.extend(clips)
                if len(shuffle_buffer) > SHUFFLE_BUFFER_SIZE:
                    random.shuffle(shuffle_buffer)
                    yield from shuffle_buffer
                    shuffle_buffer = []

        if shuffle_buffer:
            random.shuffle(shuffle_buffer)
            yield from shuffle_buffer