"""随机种子与 cudnn 确定性设置。""" from __future__ import annotations import os import random def seed_everything(seed: int, deterministic: bool = False) -> int: random.seed(seed) os.environ["PYTHONHASHSEED"] = str(seed) try: import numpy as np np.random.seed(seed) except ImportError: # pragma: no cover pass try: import torch torch.manual_seed(seed) torch.cuda.manual_seed_all(seed) if deterministic: torch.backends.cudnn.deterministic = True torch.backends.cudnn.benchmark = False else: torch.backends.cudnn.benchmark = True except ImportError: # pragma: no cover pass return seed