Zacznij terazZacznij za darmo

Uruchamianie segmentacji semantycznej

Świetna robota przy projektowaniu U-Net! Do dyspozycji masz już wstępnie wytrenowany model, bardzo podobny do tego, który właśnie zbudowałeś. Model ten był trenowany na dużym zbiorze obrazów i zawiera kilka drobnych uzupełnień architektury, takich jak warstwy normalizacji wsadowej (batch norm).

Możesz utworzyć instancję modelu jako UNet() – spowoduje to załadowanie wstępnie wytrenowanych wag. Twoim zadaniem jest użycie go do wygenerowania masek segmentacji dla poniższego zdjęcia samochodu.

car image

Image z biblioteki PIL jest już zaimportowany.

To ćwiczenie jest częścią kursu

Głębokie uczenie dla obrazów z PyTorch

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz instancję UNet() i przypisz ją do zmiennej o nazwie model.
  • Wczytaj obraz z pliku car.jpg do zmiennej o nazwie image.
  • Wygeneruj maski segmentacji, przekazując obraz do modelu i stosując squeeze(0) na wyniku.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod