It looks like you have a lot of transformations for your dataset, so that’s probably the reason for the starving of the GPU.
How are you loading your data? Do you have image files? Are they stored locally on an SSD?
If you are loading the image files in your Dataset, are you using Pillow-SIMD 10?
From the docs 3:

a much faster drop-in replacement for Pillow with SIMD. If installed will be used as the default.