在训练过程中,获得可重复的结果对于debug工作来说,非常重要。
通常在训练代码前面加入下面的代码,可以设定确定性的运行环境。
import random, torch, os, numpy as np
def seed_everything(seed=42):
    os.environ['PYTHONHASHSEED'] = str(seed)
    random.seed(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
seed_everything() # Set random seed
# Do training Here










网友评论