Pytorch 如何固定随机种子,让两次实验结果一致

项目场景:

Pytorch实验
问题描述

Pytorch实验中每次结果不一致,复现困难,同样的模型数据和参数,跑出效果好的模型变成小概率事件。

``
原因分析:
尝试固定住电脑的随机数,排除随机数的干扰。
解决方案:

    np.random.seed(seed)
    torch.manual_seed(seed) #CPU随机种子确定
    torch.cuda.manual_seed(seed) #GPU随机种子确定
    torch.cuda.manual_seed_all(seed) #所有的GPU设置种子

    torch.backends.cudnn.benchmark = False #模型卷积层预先优化关闭
    torch.backends.cudnn.deterministic = True #确定为默认卷积算法

    random.seed(seed)
    np.random.seed(seed)

    os.environ[‘PYTHONHASHSEED’] = str(seed)

posted @ 2022-04-13 15:34  小白白中白  阅读(816)  评论(0)    收藏  举报