Advertisement

PyTorch 设置随机种子以解决重复性问题

阅读量:

在模型训练阶段,由于涉及大量随机性操作,导致相同代码在多次执行后可能产生差异化的输出结果。为确保实验结果具备可复现性,有必要对随机数生成器配置固定的种子值。

复制代码
    def seed_everything(seed=1029):
    '''
    设置整个开发环境的seed
    :param seed:
    :param device:
    :return:
    '''
    random.seed(seed)
    os.environ['PYTHONHASHSEED'] = str(seed)
    np.random.seed(seed)
    torch.manual_seed(seed)
    torch.cuda.manual_seed(seed)
    torch.cuda.manual_seed_all(seed)
    # some cudnn methods can be random even after fixing the seed unless you tell it to be deterministic
    	torch.backends.cudnn.deterministic = True
    	torch.backends.cudnn.benchmark = False
    
    

全部评论 (0)

还没有任何评论哟~