LoslegenKostenlos starten

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

<Kurs>Deep Learning für Bilder mit PyTorch</Kurs>
Kurs ansehen

Übungsanweisungen

  • 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 praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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