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)

你可能感兴趣的:(python,pytorch)