Solved by RaLo4 in post #5 
              
              
                I’m not sure I understand what you mean by 

but the data is already shuffled at the time you call enumerate() on the dataloader. 
The dataloader first shuffles the data and puts it into batches. When you call enumerate(dataloader) you iterate over these shuffled batches. 
The batches themselves get…