Сброс случайной инициализации на Pytorch - PullRequest
0 голосов
/ 01 апреля 2020

Я хочу провести несколько экспериментов на нейронных сетях с прямой связью. Чтобы сделать справедливое сравнение, мне нужно, чтобы они имели одинаковую случайную инициализацию. Как я могу это сделать?

Есть ли способ сохранить те же начальные веса, чтобы я мог обучить сеть и затем заново инициализировать ее в точности так, как это было раньше?

Я пытался сохранить исходные параметры в списке, называемом «init», а затем переназначить параметры, но это не сработало:

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

Любое предложение?

1 Ответ

1 голос
/ 01 апреля 2020

Вы можете попробовать посев случайным образом: Если это не работает, попробуйте следующее:

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