Re-initializing the DataLoader after each epoch might be a valid alternative, as it should be quite cheap and therefore shouldn’t impact the performance.
Would that work for you or would that mess with your curriculum learning schedule?