Checkpoint
En gemt kopi af en models vægte og træningstilstand på et bestemt tidspunkt under træning.
Kort fortalt
Et checkpoint er et 'gemt øjebliksbillede' af din model, så du kan fortsætte træningen derfra senere eller gendanne en tidligere version.
- Kategori
- teknik
- Niveau
- begynder
- Udtale
- /ˈtʃɛk.pɔɪnt/
Betydninger
2- 1
En gemt fil der indeholder modelvægtene (parametrene) på et givent tidspunkt i træningen.
- Efter hver epoke gemmer vi et checkpoint, så vi kan gendanne den bedste model.
- 2
En gemt fil der udover modelvægte også indeholder optimizerens tilstand og evt. andre træningsvariabler, så træningen kan genoptages nøjagtigt.
- Vi gemmer et fuldt checkpoint med optimizerens tilstand, så vi kan fortsætte træningen efter en afbrydelse.
Hvornår bruges det
Checkpoints bruges under træning af store neurale netværk for at undgå at miste fremskridt ved nedbrud eller for at evaluere modelversioner på forskellige tidspunkter. Typisk gemmes checkpoints med jævne mellemrum (fx hver epoke) og kan indeholde optimizerens tilstand for at kunne genoptage træning præcist.
Kodeeksempel
import torch
# Gem checkpoint
torch.save({
'epoch': epoch,
'model_state_dict': model.state_dict(),
'optimizer_state_dict': optimizer.state_dict(),
}, 'checkpoint.pt')
# Indlæs checkpoint
checkpoint = torch.load('checkpoint.pt')
model.load_state_dict(checkpoint['model_state_dict'])
optimizer.load_state_dict(checkpoint['optimizer_state_dict'])Eksempel på at gemme og indlæse et checkpoint i PyTorch, inklusive modelvægte og optimizer.
Oprindelse
Fra engelsk 'checkpoint', oprindeligt brugt om militære kontrolposter eller sikkerhedspunkter; overført til datalogi om et gemt systempunkt.
Afledte ord
3Kilder
2- TensorFlow Guide: Checkpoints
- PyTorch Tutorial: Saving and Loading Models