Custom splitting torchvision datasets

I want to use CIFAR100 dataset from the torchvision.datasets. Also I want to do a custom split for train, test and validation dataset. Since torchvision only provides train and test datasets I was going to concatenate the train and test datasets. And use a custom_split for train, test and validation testsets. Is there an easier way to do this or is this the procedure I should follow?

Your approach sounds valid and I assume you would use torch.utils.data.Subset and pass the corresponding indices to the splits?

I was going to use custom_split with fractions. 60% for training set and 20% each for test and validation sets. Also is it valid to add transforms to each train and test dataset given by torchvision.datasets and then concatenate them later? Are those transformations also applied to the concatenated dataset as well?