Considering the CIFAR10 data with 5 training batches, 1 test batch in different folders and 20% of each train batch for validation, and an option to perform 5 fold CV within those train batches, is it possible to make a single dataset class to handle this? How do I keep track of indices for validation set if I want to split randomly? Should I be using a default dataset class and then split as needed?