Geoffrey_Payne:

However I understand that a better approach is to attach a dataloader to the whole dataset and use that to access the data for training, testing and validation.


I don’t think this is a better approach and I would stick to separate DataLoaders for each split.
Why do you think it might be a better approach?