Do you see a significant slowdown using this approach or why do you think it’s not efficient?
You could of course rotate all images beforehand and store these rotated tensors.
Then in your custom Dataset, you could load all tensors and preprocess them with the other augmentation methods.
I’m not sure how much time this would save.