This is my code,

creating a custom class for reading my dataset
class DiabeticRetinopathy(Dataset):
def init(self, csv_file, root_dir, total=None,transform = None):
self.annotations = pd.read_csv(csv_file)

self.root_dir = root_dir

self.transform = transform

def len(self):
return len(self.annotations)  

def getitem(self, index):
#img_path = os.path.join(self.root_dir, self.annotations.iloc[index, 0])

img_path = os.path.join(self.root_dir, self.annotations.iloc[index].image +".jpg")

image = Image.open(img_path)

y_label = torch.tensor(int(self.annotations.iloc[index,1]))  

if self.transform:

  image = self.transform(image)

  return(image, y_label)

full_dataset = DiabeticRetinopathy(
    csv_file="/content/DR/B.%20Disease%20Grading/B. Disease Grading/2. Groundtruths/a. IDRiD_Disease Grading_Training Labels.csv",

    root_dir="/content/DR/B.%20Disease%20Grading/B. Disease Grading/1. Original Images/a. Training Set", transform=  transforms.ToTensor())

**# Data augmentation for train and validate **
train_transform = transforms.Compose([
                         transforms.Resize((860,860)),

                         transforms.ColorJitter(brightness=0.1, contrast=0.1, saturation=0, hue=0.1),

                         transforms.RandomCrop(828,828),

                         transforms.GaussianBlur(11, sigma=(0.1, 2.0)),

                         transforms.RandomRotation(degrees=90),

                         transforms.RandomHorizontalFlip(p=0.5),

                         transforms.RandomVerticalFlip(p=0.5),

                         transforms.ToTensor(), #converting the dimension from (height,weight,channel) to (channel,height,weight) convention of PyTorch

                  transforms.Normalize([0.4346, 0.2110, 0.0705],[0.3102, 0.1663, 0.0852]) # Normalize by 3 means 3 StD's of the image net, 3 channels

])
validate_transform = transforms.Compose([
                         transforms.Resize((828,828)),

                         transforms.ToTensor(),

                         transforms.Normalize([0.4346, 0.2110, 0.0705],[0.3102, 0.1663, 0.0852]) # Normalize the  3 channels

])
#Splitting the dataset into train and validate
from torchvision import transforms, utils, datasets
from torch.utils.data import Dataset, DataLoader, random_split, SubsetRandomSampler, WeightedRandomSampler
train_sampler = SubsetRandomSampler(list(range(373)))
valid_sampler = SubsetRandomSampler(list(range(40)))

from here I am not able to understand how to apply transformations to the splits (train and validate) and get the train and validate loaders ready.
Please help.