如何在Pytorch中保存和加载随机数生成器状态?

哈伊杜斯特万

我正在Pytorch中训练DL模型,并想以确定性的方式训练我的模型。官方指南中所述,我设置了如下随机种子:

np.random.seed(0)
torch.manual_seed(0)
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False

现在,我的训练很长,我想保存,然后再加载所有内容,包括RNG。我将torch.savetorch.load_state_dict用于模型和优化器。

如何保存和加载随机数生成器?

主战坦克

您可以使用torch.get_rng_statetorch.set_rng_state

调用时,torch.get_rng_state您将以torch.ByteTensor的形式获取随机数生成器状态。

然后,您可以将该张量保存在文件中的某个位置,以后可以加载并用于torch.set_rng_state设置随机数生成器状态。


当使用时,numpy您当然可以使用:
numpy.random.get_statenumpy.random.set_state

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章