Solved by ptrblck in post #4 
              
              
                In a lot of use cases training a complete epoch takes a lot of more time than reinitializing the worker processes, so that the epoch start could be ignored. 
It’s probably an edge case, but you could also manipulate some arguments of the DataLoader itself or the underlying Dataset between epochs. 
H…