Right. 

Is TorchVision+pillow-simd or the other backend faster or slower?
Is it IO or CPU bound?

You could try if you can save time by writing tensors of 9 images to disk.
However, in my experience, this can make the disk access a problem. One thing to do is to keep the images as byte tensors (if they have been 0…255) to cut the disk use.
(Also, you don’t measure the just the first batch, right? It is known to be slower.)
Of course, you can also look at at the hardware (for IO: M.2 is significantly faster than SATA for SSDs is one obvious thing, for CPU, more cores, I always want to get one of these fancy CPUs…).
Best regards
Thomas