重置Pytorch上的随机初始化

问题描述 投票:0回答:1

我想在前馈神经网络上做一些实验。为了进行公平的比较,我需要它们具有完全相同的随机初始化。我该怎么办?

是否有一种方法可以保存相同的初始权重,以便我可以训练网络,然后完全像以前一样重新初始化它?

我一直试图将初始参数保存在名为'init'的列表中,然后重新分配参数,但它不起作用:

i = 0 for name, param in model.named_parameters(): param = init[i] i += 1

有任何建议吗?

random neural-network pytorch
1个回答
1
投票

您可以尝试通过以下方式随机播种:

torch.manual_seed(seed)
torch.manual_seed_all(seed)

请注意,您必须在每个模型初始化之前随机植入种子。如果这不起作用,请尝试以下操作:

torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
© www.soinside.com 2019 - 2024. All rights reserved.