Spaces:
Running
on
Zero
Running
on
Zero
| import random | |
| import numpy as np | |
| import torch | |
| from diffusers.utils import is_torch_npu_available | |
| def worker_init_fn(worker_id, num_processes, num_workers, process_index, seed, same_seed_per_epoch=False): | |
| if same_seed_per_epoch: | |
| worker_seed = seed + num_processes + num_workers * process_index + worker_id | |
| else: | |
| worker_seed = torch.initial_seed() | |
| random.seed(worker_seed) | |
| np.random.seed(worker_seed % 2**32) | |
| torch.manual_seed(worker_seed) | |
| if is_torch_npu_available(): | |
| torch.npu.manual_seed_all(seed) | |
| else: | |
| torch.cuda.manual_seed_all(seed) |