pytorch设计随机种子

PyTorch设置随机种子

在进行网络训练的时候为了之后可以成功复现当前结果,需要设置随机种子

废话少说,直接上函数,在train.py最初调用此函数即可

1
2
3
4
5
6
7
8
9
10
11
def init_seeds(seed=0):
random.seed(seed) # seed for module random
np.random.seed(seed) # seed for numpy
torch.manual_seed(seed) # seed for PyTorch CPU
torch.cuda.manual_seed(seed) # seed for current PyTorch GPU
torch.cuda.manual_seed_all(seed) # seed for all PyTorch GPUs
if seed == 0:
# if True, causes cuDNN to only use deterministic convolution algorithms.
torch.backends.cudnn.deterministic = True
# if True, causes cuDNN to benchmark multiple convolution algorithms and select the fastest.
torch.backends.cudnn.benchmark = False