model snapshot-lagring

Teknikken at gemme en models vægte og tilstand på et bestemt tidspunkt under træning.

Kort fortalt

En metode til at tage et øjebliksbillede af en maskinlæringsmodel under træning og gemme det, så man senere kan genoptage træning eller bruge den færdige model.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    Handlingen eller teknikken at gemme en maskinlæringsmodels komplette tilstand (inklusive vægte, optimeringsstatus, epoch-nummer) på et givet tidspunkt under træning, således at træningen kan genoptages fra dette punkt, eller modellen kan anvendes til inferens.

    • Ved brug af model snapshot-lagring kan vi gemme en checkpoint hver 10. epoch og genoptage træningen efter en afbrydelse.
    • Implementeringen af model snapshot-lagring i PyTorch gør det muligt at gemme og loade modellen med torch.save og torch.load.

Hvornår bruges det

Model snapshot-lagring bruges typisk under langvarig træning for at undgå tab af fremskridt ved fejl, eller for at evaluere modellen på forskellige tidspunkter. Ofte gemmes snapshots med jævne mellemrum eller når en metrik forbedres.

Kodeeksempel

# Save snapshot
torch.save({
    'epoch': epoch,
    'model_state_dict': model.state_dict(),
    'optimizer_state_dict': optimizer.state_dict(),
    'loss': loss,
}, 'checkpoint.pth')

# Load snapshot
checkpoint = torch.load('checkpoint.pth')
model.load_state_dict(checkpoint['model_state_dict'])
optimizer.load_state_dict(checkpoint['optimizer_state_dict'])
epoch = checkpoint['epoch']

Eksempel på model snapshot-lagring og genindlæsning i PyTorch. Gemmer en dictionary med epoch, model, optimizer og loss, og loader den igen.

Oprindelse

Udtrykket er en sammensætning af det engelske 'model snapshot' (model-øjebliksbillede) og det danske 'lagring' (storage).

Afledte ord

2