def set_random_seed()

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