""" Model-related utilities, such as setting seed """ import torch import numpy as np import random import os def set_seed(seed: int = 42) -> None: np.random.seed(seed) random.seed(seed) torch.manual_seed(seed) torch.cuda.manual_seed(seed) # When running on the CuDNN backend, two further options must be set torch.backends.cudnn.deterministic = True torch.backends.cudnn.benchmark = False # Set a fixed value for the hash seed os.environ["PYTHONHASHSEED"] = str(seed) print(f"Random seed set as {seed}")