Pytorch torch.manual_seed()的简单用法

简单来说就是指定随机数种子(种子可以是个任意int值),用来生成伪随机数:

import torch

torch.manual_seed(1)
print(torch.rand(1))
print(torch.rand(1))
print(torch.rand(1))

输出:

tensor([0.7576])
tensor([0.2793])
tensor([0.4031])

之后再运行同样会生成相同的随机数序列

这样的意义在于可以保证在深度网络在随机初始化各层权重时,多次试验的初始化权重是一样的,结果可以复现。

此外,还可以给GPU设置种子,上面讲的是给CPU设置的情况:

# 为当前GPU设置
if args.cuda:
	torch.cuda.manual_seed(args.seed)
# 为所有GPU设置
torch.cuda.manual_seed_all(args.seed)

你可能感兴趣的:(Pytorch)