Item_tfms resize vs aug_transforms resize

I am trying to understand why both of these are used in a vision_learner. I understand that item_tfms will just resize each image on the CPU. But why do we then need to resize it again during batch_tfms/aug_transforms. Wouldn’t it be better to resize it just once either during item_tfms or batch_tfms? I think I am missing something important but I couldn’t find an answer anywhere.

AFAIK The size param in the aug_transforms refers to the size of the batch, not the item. The image resize happens in item_tfms.

As per docs, it is - Output size, duplicated if one value is specified. I think batch size is specified at the dataloader level with the parameter bs.

This one seems to concur - Notice that it takes the percentage of the image first and then resizes it to the size defined in the parameters, and not the other way around.