Я тренирую нейронную сеть, используя pytorch, и я хочу сохранять веса на каждой итерации. Другими словами, я хочу создать список, содержащий все веса, которые нейронная сеть имела во время обучения.
Я сделал следующее:
for i, (images, labels) in enumerate(train_loader):
(.....code that is used to train the model here.....)
weight = model.fc2.weight.detach().numpy()
weights_list.append(weight)
Когда я затем печатаю записи списка weights_list, я замечаю, что они все одинаковы, что не может быть правдой, потому что у меня естьнапечатали веса во время обучения, и они меняются (и сеть действительно учится, поэтому они должны). Я предполагаю, что каждая запись списка на самом деле является указателем на вес сети в момент проверки списка. Итак:
1) Правильно ли мое предположение? 2) Как я могу решить эту проблему?
Спасибо!