This is the code I am using, I understand that if I hv 100 images, 100 images will be the output with transforms. So, all transforms will be applied to the images or it is done random?
data_transforms = {
‘train’: transforms.Compose([
transforms.Resize((299,299)),
transforms.RandomRotation(degrees=15),
transforms.RandomHorizontalFlip(),
transforms.ColorJitter(),
transforms.ElasticTransform(alpha=250.0),
transforms.RandomPosterize(bits=2),
transforms.RandomAdjustSharpness(sharpness_factor=2),
transforms.RandAugment(),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]),
‘val’: transforms.Compose([
transforms.Resize((299,299)),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]),
}
print(“Initializing Datasets and Dataloaders…”)
Create training and validation datasets
image_datasets = {x: datasets.ImageFolder(os.path.join(data_dir, x), data_transforms[x]) for x in [‘train’, ‘val’]}
Create training and validation dataloaders
dataloaders_dict = {x: torch.utils.data.DataLoader(image_datasets[x], batch_size=batch_size, shuffle=True, num_workers=4) for x in [‘train’, ‘val’]}
class_names = image_datasets[‘val’].classes
Detect if we have a GPU available
device = torch.device(“cuda:0” if torch.cuda.is_available() else “cpu”)