ptrblck:

Each worker will thus get a new seed and would use it for the current epoch, such that the random transformation would be pseudo-random again


Thanks for your answer, now I think it’s clear.
The only thing bugging me now is that then, given how the seed is used



 ptrblck:

the seed will be used here .


random.seed(seed)
torch.manual_seed(seed)

the only sources of randomness for reproducible data augmentation should be random and torch. Right?
Otherwise one would need to set a seed with worker_init_fn, which would get us back to the pseudo-random samples repeating for each epoch.