snapshot checkpoint
En snapshot checkpoint er en gemt kopi af en models vægte, optimeringsstat og tilhørende metadata på et bestemt tidspunkt under træning, så træningen kan genoptages eller evalueres senere.
Kort fortalt
Det er som et 'gem spil'-punkt i træningen, hvor du gemmer alt, hvad modellen har lært, så du kan fortsætte senere.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En gemt tilstand af en model under træning, der indeholder vægte, optimeringsparametre og evt. andre træningsvariable, så træningen kan genoptages præcist fra dette punkt.
- Hver 5. epoch gemmer vi en snapshot checkpoint for at kunne rulle tilbage, hvis modellen overfit.
- Snapshot checkpointen inkluderer både modelvægte og Adam-optimizerens momentestimater.
Hvornår bruges det
Snapshot checkpoints bruges typisk under langvarig træning for at sikre mod nedbrud, til at evaluere modellen på forskellige tidspunkter, og til at implementere early stopping eller model selection. De gemmes ofte periodisk (f.eks. hver epoch) eller når en metrik forbedres.
Kodeeksempel
import torch
# Gem snapshot checkpoint
torch.save({
'epoch': epoch,
'model_state_dict': model.state_dict(),
'optimizer_state_dict': optimizer.state_dict(),
'loss': loss,
}, 'checkpoint_{}.pt'.format(epoch))
# Genoptag træning fra checkpoint
checkpoint = torch.load('checkpoint_10.pt')
model.load_state_dict(checkpoint['model_state_dict'])
optimizer.load_state_dict(checkpoint['optimizer_state_dict'])
epoch = checkpoint['epoch'] + 1Eksempel på at gemme og genindlæse en snapshot checkpoint i PyTorch.
Oprindelse
Termen er sammensat af 'snapshot' (et øjebliksbillede) og 'checkpoint' (kontrolpunkt), begge fra datalogi. 'Snapshot' refererer til en øjeblikstilstand, og 'checkpoint' til et gemt punkt, man kan vende tilbage til.