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.

Image aus PIL wurde bereits für dich importiert.
Diese Übung ist Teil des Kurses
Deep Learning für Bilder mit PyTorch
Anleitung zur Übung
- Instanziiere
UNet()in einer Variablen namensmodel. - Lade das Bild unter
car.jpgin eine Variable namensimage. - 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()