in utils/utils.py [0:0]
def set_random_seed(seed=None):
if seed is not None:
# raise NotImplementedError('Fixing seed has not yet been implemented.')
print('Set random seed as', seed)
random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed)
torch.cuda.manual_seed(seed)
torch.cuda.manual_seed_all(seed) # for Multi-GPU, exception safe
# TODO: this leads to performance degradation, while the result can not be repeated
# torch.backends.cudnn.benchmark = False
# torch.backends.cudnn.deterministic = True
os.environ['PYTHONHASHSEED'] = str(seed)
torch.backends.cudnn.benchmark = True