在训练过程中,获得可重复的结果对于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
网友评论