mmengine.dist.sync_random_seed¶
- mmengine.dist.sync_random_seed(group=None)[source]¶
Synchronize a random seed to all processes.
In distributed sampling, different ranks should sample non-overlapped data in the dataset. Therefore, this function is used to make sure that each rank shuffles the data indices in the same order based on the same seed. Then different ranks could use different indices to select non-overlapped data from the same data list.
- Parameters:
group (ProcessGroup, optional) – The process group to work on. If None, the default process group will be used. Defaults to None.
- Returns:
Random seed.
- Return type:
Examples
>>> import torch >>> import mmengine.dist as dist
>>> # non-distributed environment >>> seed = dist.sync_random_seed() >>> seed # which a random number 587791752
>>> distributed environment >>> # We have 2 process groups, 2 ranks. >>> seed = dist.sync_random_seed() >>> seed 587791752 # Rank 0 587791752 # Rank 1