固定torch训练过程中的随机种子

在使用pytorch进行深度学习训练过程中,经常会遇到需要复现的场景,这个时候如果在训练之前没有固定随机数种子的话,每次训练往往都不能复现参数,下面的seed_everything函数可以帮助我们在深度学习训练过程中固定随机数种子,方便代码复现。

def seed_everything(seed):
    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)
    torch.backends.cudnn.deterministic = True
    torch.backends.cudnn.benchmark = False

你可能感兴趣的:(深度学习,pytorch,python)