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
<Kurs>Deep Learning für Bilder mit PyTorch</Kurs>Übungsanweisungen
- 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 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()