Deep Learning Academy · Les

Opslaan en laden met state_dict

Maak een checkpoint van de gewichten om later verder te gaan.

Les 3 van 413 stappen

Opslaan en laden met state_dict is een gratis Deep Learning Academy-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Deep Learning Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Deep Learning Academy bevat in totaal 4 lessen.

Waarom controlepunten belangrijk zijn

Training kan uren duren en crashes komen voor. Als je je voortgang opslaat als een checkpoint, kun je stoppen, hervatten of het model opleveren zonder opnieuw vanaf nul te trainen.

Wat een state_dict bevat

De state_dict van een model is een gewone dictionary die elke laagnaam koppelt aan de aangeleerde tensors. Het bevat alles wat het model weet, verpakt voor opslag.

model.state_dict()

Sla de gewichten op

Gebruik torch.save op de state_dict om de gewichten naar schijf te schrijven. De extensie .pt of .pth is de gebruikelijke conventie voor deze bestanden.

torch.save(model.state_dict(), 'model.pt')

Laad de gewichten opnieuw

Lees het bestand met torch.load en laad de inhoud in een model met load_state_dict. De architectuur moet overeenkomen met de opgeslagen architectuur.

model.load_state_dict(torch.load('model.pt'))

Maak eerst de architectuur opnieuw

Een state_dict bevat getallen, niet de klasse zelf. Je moet eerst hetzelfde modelobject in code opbouwen voordat je de gewichten erin kunt laden.

model = MyNet()
model.load_state_dict(torch.load('model.pt'))

Evaluatiemodus na het laden

Roep direct na het laden voor inferentie model.eval() aan. Hiermee worden dropout en batchnorm in de voorspellingsmodus gezet, zodat de uitvoer correct is.

model.eval()

Sla ook de optimizer op

Om de training echt te hervatten, moet je ook de state_dict van de optimizer opslaan. Deze bevat momentum en adaptieve statistieken die anders naar nul zouden worden teruggezet.

torch.save(optimizer.state_dict(), 'opt.pt')

Bundel een volledig checkpoint

Stop het model, de optimizer en het huidige tijdperk in één checkpoint-dictionary. Nu kan één bestand je volledige trainingssessie herstellen.

ckpt = {'epoch': epoch, 'model': model.state_dict(), 'opt': optimizer.state_dict()}
torch.save(ckpt, 'ckpt.pt')

Hervat vanuit een checkpoint

Laad de bundel en herstel elk onderdeel achtereenvolgens. Door het opgeslagen tijdperk te lezen, kun je de lus precies voortzetten waar deze was gestopt.

ckpt = torch.load('ckpt.pt')
model.load_state_dict(ckpt['model'])
optimizer.load_state_dict(ckpt['opt'])

Koppel aan het juiste apparaat

Als je op een GPU hebt opgeslagen en op een CPU laadt, geef je map_location door aan torch.load. Hiermee worden de gewichten verplaatst naar een apparaat dat je computer daadwerkelijk heeft.

torch.load('model.pt', map_location='cpu')

Sla het beste op, niet het laatste

Houd de validatieverlieswaarde in de gaten en overschrijf je checkpoint alleen wanneer deze verbetert. Zo bewaar je het beste model en niet zomaar het model uit het laatste tijdperk.

Korte controle

Je hebt alleen model.state_dict() opgeslagen. Wat moet er bestaan voordat je het kunt laden?

Samenvatting

Sla gewichten op met state_dict en torch.save, bouw het model opnieuw op om ze te laden en bundel de optimizer en het tijdperk om volledig te kunnen hervatten. Bewaar de beste versie. 💾

Gratis beginnen

Leer Python met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Opslaan en laden met state_dict” gratis?

Ja — de volledige tekst van “Opslaan en laden met state_dict” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Deep Learning Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Deep Learning Academy bevat in totaal 4 lessen.

Wat leer ik in “Opslaan en laden met state_dict”?

Maak een checkpoint van de gewichten om later verder te gaan. Je oefent met Deep Learning Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Deep Learning Academy te beginnen?

Ervaring vooraf is niet nodig. Deep Learning Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.

Hoe lang duurt de les “Opslaan en laden met state_dict”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Deep Learning Academy?

Ja. Elke les over Deep Learning Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Trainings-, validatie- en testset splitsen
  2. Een epochlus met validatie
  3. Opslaan en laden met state_dict
  4. Early stopping op validatieloss
← Terug naar Deep Learning Academy