Shortcuts

seed

Functions

isolate_rng

A context manager that resets the global random state on exit to what it was before entering.

pl_worker_init_function

The worker_init_fn that Lightning automatically adds to your dataloader if you previously set the seed with seed_everything(seed, workers=True).

reset_seed

Reset the seed to the value that pytorch_lightning.utilities.seed.seed_everything() previously set.

seed_everything

Function that sets seed for pseudo-random number generators in: pytorch, numpy, python.random In addition, sets the following environment variables:

Utilities to help with reproducibility of models.

pytorch_lightning.utilities.seed.isolate_rng()[source]

A context manager that resets the global random state on exit to what it was before entering.

It supports isolating the states for PyTorch, Numpy, and Python built-in random number generators.

Example

>>> torch.manual_seed(1)  
<torch._C.Generator object at ...>
>>> with isolate_rng():
...     [torch.rand(1) for _ in range(3)]
[tensor([0.7576]), tensor([0.2793]), tensor([0.4031])]
>>> torch.rand(1)
tensor([0.7576])
Return type

Generator[None, None, None]

pytorch_lightning.utilities.seed.pl_worker_init_function(worker_id, rank=None)[source]

The worker_init_fn that Lightning automatically adds to your dataloader if you previously set the seed with seed_everything(seed, workers=True).

See also the PyTorch documentation on randomness in DataLoaders.

Return type

None

pytorch_lightning.utilities.seed.reset_seed()[source]

Reset the seed to the value that pytorch_lightning.utilities.seed.seed_everything() previously set.

If pytorch_lightning.utilities.seed.seed_everything() is unused, this function will do nothing.

Return type

None

pytorch_lightning.utilities.seed.seed_everything(seed=None, workers=False)[source]

Function that sets seed for pseudo-random number generators in: pytorch, numpy, python.random In addition, sets the following environment variables:

  • PL_GLOBAL_SEED: will be passed to spawned subprocesses (e.g. ddp_spawn backend).

  • PL_SEED_WORKERS: (optional) is set to 1 if workers=True.

Parameters
  • seed (Optional[int]) – the integer value seed for global random state in Lightning. If None, will read seed from PL_GLOBAL_SEED env variable or select it randomly.

  • workers (bool) – if set to True, will properly configure all dataloaders passed to the Trainer with a worker_init_fn. If the user already provides such a function for their dataloaders, setting this argument will have no influence. See also: pl_worker_init_function().

Return type

int