Deep Learning Academy · Les

nn.Module subclassen: __init__ en forward

De standaardopbouw van een PyTorch-model.

Les 1 van 413 stappen

nn.Module subclassen: __init__ en forward is een gratis Deep Learning Academy-les op CoddyKit. Dit is les 1 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.

Modellen zijn gewoon klassen

In PyTorch is elk model een Python-klasse. Je bouwt je model door nn.Module uit te breiden, de basisklasse waarop alle netwerken steunen.

Twee methoden bepalen alles

Een model heeft slechts twee methoden nodig: __init__ stelt de lagen in en forward beschrijft hoe gegevens erdoorheen stromen.

Roep altijd super().__init__ aan

De allereerste regel in __init__ moet super().__init__() aanroepen. Daarmee koppel je je model aan PyTorch en kan het alles volgen. 🔌

class Net(nn.Module):
    def __init__(self):
        super().__init__()

Definieer lagen in __init__

Binnen __init__ maak je je lagen aan en sla je ze op als attributen. Door ze op self op te slaan, kan PyTorch ze automatisch registreren.

self.fc1 = nn.Linear(4, 8)
self.fc2 = nn.Linear(8, 2)

forward is het recept

De methode forward neemt een invoertensor aan en geeft een uitvoer terug. Deze beschrijft precies in welke volgorde je lagen de gegevens verwerken.

def forward(self, x):
    x = self.fc1(x)
    return self.fc2(x)

Roep forward nooit rechtstreeks aan

Je roept het model aan als een functie, niet als model.forward(x). Het gebruik van model(x) voert hooks en administratie uit die forward alleen overslaat.

out = model(x)   # preferred
# not: out = model.forward(x)

Lagen worden parameters

Omdat de lagen op self staan, worden hun gewichten verzameld als de parameters van het model. De optimizer werkt later precies deze bij.

Maak het model aan en gebruik het daarna

Maak het model één keer aan en geef het daarna meerdere keren tensors. Elke aanroep loopt door dezelfde geleerde gewichten.

model = Net()
prediction = model(sample_input)

Vormen moeten op elkaar aansluiten

De uitvoergrootte van elke laag moet overeenkomen met de invoergrootte van de volgende laag. Plan deze dimensies terwijl de gegevens door forward stromen.

Waarom dit patroon werkt

Door overerving blijven de instellingen en gegevensstroom netjes gescheiden. Hetzelfde eenvoudige skelet werkt voor een klein netwerk én voor een enorm netwerk.

Flexibel ontworpen

Binnen forward kun je vrij vertakken, de vorm wijzigen of lagen opnieuw gebruiken. Daarom zijn aangepaste nn.Module-klassen zo krachtig. 💪

Korte controle

Denk na over welke methode bepaalt hoe gegevens door het netwerk bewegen.

Samenvatting

Je bouwt een model door nn.Module uit te breiden, de lagen in __init__ te definiëren en de gegevensstroom in forward te beschrijven. Daarna roep je gewoon model(x) aan. 🎯

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 “nn.Module subclassen: __init__ en forward” gratis?

Ja — de volledige tekst van “nn.Module subclassen: __init__ en forward” 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 “nn.Module subclassen: __init__ en forward”?

De standaardopbouw van een PyTorch-model. 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 1 van 4.

Hoe lang duurt de les “nn.Module subclassen: __init__ en forward”?

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. nn.Module subclassen: __init__ en forward
  2. Lineaire lagen stapelen
  3. nn.Sequential voor snelle modellen
  4. Parameters en laagsvormen inspecteren
← Terug naar Deep Learning Academy