其实在代码的开头添加下面几句话即可:
# 保证训练时获取的随机数都是一样的
init_seed =
torch.manual_seed(init_seed)
torch.cuda.manual_seed(init_seed)
np.random.seed(init_seed) # 用于numpy的随机数
torch.manual_seed(seed)
为了生成随机数设置种子。返回一个
参数:
seed (int) – 期望的种子数
torch.cuda.manual_seed(seed)
为当前GPU生成随机数设置种子。如果CUDA不可用,调用该方法也是安全的;在这种情况下,该调用就会被忽略
参数:
seed (int) – 期望的种子数
⚠️如果你使用的是多GPU模型,就要调用manual_seed_all(seed)
.