model snapshot
En model snapshot er en gemt kopi af en models vægte og tilstand på et bestemt tidspunkt under træning.
Kort fortalt
En gemt version af en maskinlæringsmodel på et bestemt trin under træningen.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En gemt tilstand af en maskinlæringsmodel, inklusive vægte, optimeringsparametre og evt. træningsdata såsom epoke- eller batch-nummer.
- Jeg gemmer et model snapshot hver epoke for at kunne rulle tilbage ved overfitting. — Eksempel fra praksis
- Vi brugte et snapshot fra epoke 10 til at fortsætte træningen efter strømafbrydelse. — Eksempel fra praksis
Hvornår bruges det
Bruges til at gemme checkpoints under træning, så man kan gå tilbage til tidligere versioner, fortsætte træning eller evaluere progressionen. Ofte gemmes snapshots automatisk hvert N antal epoker eller når valideringsperformancen forbedres.
Kodeeksempel
import torch
import torch.nn as nn
model = nn.Linear(10, 2)
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
# Gem snapshot
torch.save({
'epoch': 10,
'model_state_dict': model.state_dict(),
'optimizer_state_dict': optimizer.state_dict(),
'loss': 0.05,
}, 'snapshot_epoch10.pth')
# Indlæs snapshot
checkpoint = torch.load('snapshot_epoch10.pth')
model.load_state_dict(checkpoint['model_state_dict'])
optimizer.load_state_dict(checkpoint['optimizer_state_dict'])
epoch = checkpoint['epoch']
loss = checkpoint['loss']Eksempel på at gemme og indlæse et model snapshot i PyTorch.
Oprindelse
Fra engelsk: 'model' (model) og 'snapshot' (øjebliksbillede). Begrebet stammer fra checkpointing i softwareudvikling.