数据处理
设置随机种子
模型需要提前设定随机种子和框架样式,这里的框架样式主要是指在进行卷积计算时候选择的算法。
这里的随机种子包括系统的,numpy的,torch自身的,CUDA的。
random.seed(seed)
np.random.seed(seed)
torch.manual_seed(seed) # 所有设别设置随机种子
torch.cuda.manual_seed_all(seed) # 设置所有GPU的随机种子,如果没有GPU,会默认忽视
在加速器cuDnn中,针对卷积有多种优化算法,不同的优化算法会对结果产生差异。
torch.backends.cudnn.deterministic = True
True每次返回的卷积算法将是确定的,默认的,结合确定的随机种子,可以确保结果可复现,缺点是速度性能会慢。
tor