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