pytorch中的torch.manual

pytorch中的torch.manual,第1张

pytorch中的torch.manual 随机种子使用规则 使用原因:在需要生成随机数据的实验中,每次实验都需要生成数据。设置随机种子为了确保每次生成固定的随机数,使得每次实验结果显示一致,有利于实验的比较和改进。

PS:在numpy内部 也有随机种子,当你在numpy中的随机数的时候,可以通过如下方式:
np.random.seed(seed)
python的内置模块random.seed(seed)

1.为CPU设置种子,生成随机数

torch.manual_seed(seed)

2.为特定GPU设置种子,生成随机数

torch.suda.manual_seed(seed)

3.为所有GPU设置种子,生成随机数

torch.cuda.manual_seed_all(seed)

代码演示
torch.manual_seed(1)
torch.rand(1,2)

无论执行多少次,输出的结果都是一样的。若去掉torch.manual_seed(1),直接torch.rand(1,2),则生成的结果是不一样的。

参数seed的理解

可以理解为一个rand的index相同,则rand的结果是想同的。

torch.manual_seed(2)
print(torch.rand(2))

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

seed=1 rand产生的是tensor([0.7576,0.2793])
seed=2 rand产生的是tensor([0.6147,0.3810])

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5071788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存