Solved by ptrblck in post #2 
              
              
                This would be expected, since calling model.eval() would disable dropout layers (shouldn’t make a difference regarding shuffling the dataset) and would use the running stats of all batchnorm layers. 
If you leave the model in training mode, the batchnorm layers would use the current batch stats to …