LoslegenKostenlos loslegen

Semantische Segmentierung ausführen

Gute Arbeit beim Entwerfen des U-Net! Dir steht ein bereits vortrainiertes Modell zur Verfügung, das dem von dir gebauten sehr ähnlich ist. Dieses Modell wurde auf einem großen Bilddatensatz trainiert und enthält ein paar kleine Ergänzungen an der Architektur, z. B. Batch-Norm-Schichten.

Du kannst das Modell mit UNet() instanziieren; dadurch erhält es die vortrainierten Gewichte. Deine Aufgabe ist es, damit Segmentierungsmasken für das folgende Bild eines Autos zu erzeugen.

car image

Image aus PIL wurde bereits für dich importiert.

Diese Übung ist Teil des Kurses

Deep Learning für Bilder mit PyTorch

Kurs anzeigen

Anleitung zur Übung

  • Instanziiere UNet() in einer Variablen namens model.
  • Lade das Bild unter car.jpg in eine Variable namens image.
  • Erzeuge Segmentierungsmasken, indem du das Bild an das Modell übergibst und die Ausgabe mit squeeze(0) reduzierst.

Interaktive Übung

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

# Load model
model = ____
model.eval()

# Load and transform image
image = ____
transform = transforms.Compose([transforms.ToTensor()])
image_tensor = transform(image).unsqueeze(0)

# Predict segmentation mask
with torch.no_grad():
    prediction = ____

# Display mask
plt.imshow(prediction[1, :, :])
plt.show()
Code bearbeiten und ausführen