LoslegenKostenlos loslegen

Aufbau eines U-Net: Vorwärtsmethode

Nachdem die Encoder- und Decoder-Schichten definiert sind, kannst du jetzt die Methode „ forward() “ des U-Netzwerks implementieren. Die Eingaben sind schon für dich durch den Encoder gelaufen. Allerdings musst du den letzten Decoder-Block noch festlegen.

Der Decoder soll die Feature-Maps hochskalieren, damit die Ausgabe die gleiche Höhe und Breite wie das Eingabebild von U-Net hat. Damit kannst du semantische Masken auf Pixelebene erstellen.

Diese Übung ist Teil des Kurses

Deep Learning für Bilder mit PyTorch

Kurs anzeigen

Anleitung zur Übung

  • Definiere den letzten Decoder-Block und benutze dabei „ torch.cat() “, um die Skip-Verbindung zu bilden.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

def forward(self, x):
    x1 = self.enc1(x)
    x2 = self.enc2(self.pool(x1))
    x3 = self.enc3(self.pool(x2))
    x4 = self.enc4(self.pool(x3))

    x = self.upconv3(x4)
    x = torch.cat([x, x3], dim=1)
    x = self.dec1(x)

    x = self.upconv2(x)
    x = torch.cat([x, x2], dim=1)
    x = self.dec2(x)

    # Define the last decoder block with skip connections
    x = ____
    x = ____
    x = ____

    return self.out(x)
Code bearbeiten und ausführen