Erste SchritteKostenlos loslegen

PyTorch-Modell

Du wirst den OOP-Ansatz verwenden, um die Modellarchitektur zu definieren. Denk daran, dass dies das Einrichten einer Modellklasse und das Definieren von zwei Methoden darin erfordert:

  • .__init__(), in der du die Schichten definierst, die du verwenden möchtest;

  • forward(), in der du definierst, was mit den Modell-Inputs geschieht, sobald sie empfangen werden; hier leitest du Inputs durch vordefinierte Schichten.

Erstellen wir ein Modell mit drei linearen Schichten und ReLU-Aktivierungen. Nach der letzten linearen Schicht brauchst du stattdessen eine Sigmoid-Aktivierung, die sich gut für binäre Klassifizierungsaufgaben wie unser Wasservorhersageproblem eignet. Hier ist das Modell definiert mit nn.Sequential(), womit du vielleicht vertrauter bist:

net = nn.Sequential(

  nn.Linear(9, 16),

  nn.ReLU(),

  nn.Linear(16, 8),

  nn.ReLU(),

  nn.Linear(8, 1),

  nn.Sigmoid(),

)

Lass uns dieses Modell als Klasse neu schreiben!

Diese Übung ist Teil des Kurses

Deep Learning mit PyTorch für Fortgeschrittene

Kurs anzeigen

Anleitung zur Übung

  • In der .__init__()-Methode definierst du die drei linearen Schichten mit Dimensionen entsprechend der bereitgestellten Modelldefinition und weist sie jeweils self.fc1, self.fc2 und self.fc3 zu.
  • In der forward()-Methode leitest du den Modell-Input x durch alle Schichten und denkst daran, die Aktivierungen darüber zu legen, ähnlich wie es bereits für die erste Schicht gemacht wird.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

import torch.nn as nn
import torch.nn.functional as F

class Net(nn.Module):
    def __init__(self):
        super().__init__()
        # Define the three linear layers
        self.fc1 = ____
        self.fc2 = ____
        self.fc3 = ____
        
    def forward(self, x):
        # Pass x through linear layers adding activations
        x = nn.functional.relu(self.fc1(x))
        x = ____
        x = ____
        return x
Bearbeiten und Ausführen von Code