The general approach is to use some data augmentation in your training so artificially create “new” samples of your data, and to use some “constant” pre-processing in your validation/test case.
As you can see the training transformation has some random transforms, e.g. RandomResizedCrop, which is fine for training, but could yield different predictions for the same sample in your test dataset.
It is thus preferred to use the non-random versions of the transformations for the validation/test to get consistent predictions.