我正在Pytorch中训练DL模型,并想以确定性的方式训练我的模型。如本官方指南中所述,我设置了如下随机种子:
np.random.seed(0)
torch.manual_seed(0)
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
现在,我的训练很长,我想保存,然后再加载所有内容,包括RNG。我将torch.save
和torch.load_state_dict
用于模型和优化器。
如何保存和加载随机数生成器?
您可以使用torch.get_rng_state
和torch.set_rng_state
调用时,torch.get_rng_state
您将以torch.ByteTensor的形式获取随机数生成器状态。
然后,您可以将该张量保存在文件中的某个位置,以后可以加载并用于torch.set_rng_state
设置随机数生成器状态。
当使用时,numpy
您当然可以使用:
numpy.random.get_state
和numpy.random.set_state
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句