Is there a RandomState equivalent in PyTorch for "local" random generator seeding?

You could pass your torch.Generator manually to the random function.
I’m not sure, if this API will change in the future, as this argument is not documented as far as I know and maybe shouldn’t be exposed in the current implementation.

However, I think this code should work:

gen0 = torch.Generator()
gen1 = torch.Generator()

gen0 = gen0.manual_seed(0)
gen1 = gen1.manual_seed(1)
torch.rand(5, generator=gen0)
torch.rand(5, generator=gen0)
torch.rand(5, generator=gen1)
torch.rand(5, generator=gen1)

gen0 = gen0.manual_seed(0)
gen1 = gen1.manual_seed(1)
torch.rand(5, generator=gen1)
torch.rand(5, generator=gen1)
torch.rand(5, generator=gen0)
torch.rand(5, generator=gen0)
7 Likes