Source code for ts_benchmark.utils.random_utils

import os
import random
from typing import Optional, NoReturn

import numpy as np
import torch


[docs] def fix_random_seed(seed: Optional[int] = 2021) -> NoReturn: """ Fixes the random seed for Python, PyTorch, and NumPy to ensure reproducibility. :param seed: The seed value to be used for random number generation. :return: None """ if seed is None: return random.seed(seed) torch.manual_seed(seed) np.random.seed(seed)
[docs] def fix_all_random_seed(seed: Optional[int] = 2021) -> NoReturn: """ Fixes the random seed for Python, PyTorch, NumPy, and CUDA. :param seed: The seed value to be used for random number generation. :return: None """ if seed is None: return torch.manual_seed(seed) torch.cuda.manual_seed_all(seed) np.random.seed(seed) random.seed(seed) torch.cuda.manual_seed(seed) torch.backends.cudnn.deterministic = True torch.backends.cudnn.benchmark = False torch.backends.cudnn.enabled = False os.environ['PYTHONHASHSEED'] = str(1)