When training a model with ImageNet the regular data processing pipeline is:
    train_dataset = datasets.ImageFolder(
        traindir,
        transforms.Compose([
            transforms.RandomResizedCrop(224),
            transforms.RandomHorizontalFlip(),
            transforms.ToTensor(),
            normalize,
]))

It seems from the source that in each epoch each image would be cropped and resized differently.
Is this true?
Does this randomization procedure is critical for the success of the training (compared to omitting it and having the same image in each epoch)?