I attempt to apply snapshot ensemble following this paper Snapshot Ensembles: Train 1, get M for free what I understand that I save model weights after each cycle. The one cycle contains many epochs. I want to save these weights at the end of each cycle into a list for further using them in test phase.
At beginning I defined snaphots = then @ end of each cycle append models weights to this list : snapshots.append(model.state_dict()). The problem that I found that all snapshot " weights" in the list are the same although they are different during the training
Hi,
The problem is that you are referring the same object. When you save it to the list instead of “snapshots.append(model.state_dict())”. Use the following command.
snapshots.append(model.state_dict().copy())
Then only, you can save the values at that point.
One small concern - when you ask question. Please do not mention a specific name. There are lots of people in the forum. Somebody will come and answer your question. If you mention a name, others may not answer.
Thanks
1 Like
thanks for your answer and advice