首页 > 编程学习 > pytorch 随机数种子

pytorch 随机数种子

发布时间:2022/9/20 6:53:49

https://zhuanlan.zhihu.com/p/391875795

https://zhuanlan.zhihu.com/p/419063125

可复现性

在硬件设备(CPU、GPU)不同时,完全的可复现性无法保证,即使随机种子相同。但是,在同一个设备上,应该保证可复现性。具体做法是,在程序开始的时候固定torch的随机种子,同时也把numpy的随机种子固定。

np.random.seed(0)
torch.manual_seed(0)
torch.cuda.manual_seed_all(0)

torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False

在工程实践中,我们经常会使用到随机数种子。以深度学习为例,为了能稳定复现各种结果,我们往往需要固定random, np, pytorch(作者是pytorch的小粉丝)的随机数种子。如下写法:

def setup_seed(seed):
     torch.manual_seed(seed)
     torch.cuda.manual_seed_all(seed)
     np.random.seed(seed)
     random.seed(seed)
     torch.backends.cudnn.deterministic = True

一般情况下,对于同一个工程而言,大家知道这个方法就足够了。

Copyright © 2010-2022 mfbz.cn 版权所有 |关于我们| 联系方式|豫ICP备15888888号