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)