An example of a more advanced dataset is the MultiDataset, demonstrated at the bottom of Code Box 3. Here the MultiDataset is used to step through a list of data, which can then be used one after another. This is useful if there is a need to switch dataset in between epochs, one example could be to switch dataset because offline data augmentation such as Levenshtein augmentation has been used. Subclassing the MultiDataset would then be necessary to load the data off the disk. An example of a MultiDataset loading from disk is available in the PickledMultiDataset, which uses a list of filenames of pickle files to load them one by one.