But how exactly do we apply separate data transforms for training and validation sets in your approach? And should we do so?
What I am trying to achieve is to find a proper way to make below data transforms* “visible” to the subsets generated by random_split. (*transforms taken from Pytorch’s transfer learning tutorial)

    data_transforms = {
        'train': transforms.Compose([
            transforms.RandomResizedCrop(224),
            transforms.RandomHorizontalFlip(),
            transforms.ToTensor(),
            transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
        ]),
        'val': transforms.Compose([
            transforms.Resize(256),
            transforms.CenterCrop(224),
            transforms.ToTensor(),
            transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
        ])
    }

Sorry if i am missing something very obvious, i am new to deep learning and Pytorch.