随机数种子manual_seed
- torch.manual_seed(seed)
用于设计初始化种子,保证每次随机初始化数据时,得到的数据是相同的. 从下面的实例可以看出,随机初始化种子相当于固定了随机初始化的顺序,保证每次随机初始化的数据都是相同的.
import torch
seed = 10
torch.manual_seed(seed) # 设置随机初始化种子 1
a = torch.rand([2,3])
torch.manual_seed(seed) # 设置随机初始化种子 2
b = torch.rand([2,3])
# 结果, a==b,两者相等
a = tensor([[0.4581, 0.4829, 0.3125],
[0.6150, 0.2139, 0.4118]])
b = tensor([[0.4581, 0.4829, 0.3125],
[0.6150, 0.2139, 0.4118]])
# 如果票注释掉第二个随机初始化种子, a != b
seed = 10
torch.manual_seed(seed) # 设置随机初始化种子 1
a = torch.rand([2,3])
# torch.manual_seed(seed) # 设置随机初始化种子 2
b = torch.rand([2,3])
# 结果 a != b
a = tensor([[0.4581, 0.4829, 0.3125],
[0.6150, 0.2139, 0.4118]])
b = tensor([[0.6938, 0.9693, 0.6178],
[0.3304, 0.5479, 0.4440]])