Exécuter une segmentation sémantique
Bravo pour la conception du U-Net ! Un modèle déjà préentraîné, très similaire à celui que vous venez de bâtir, est à votre disposition. Ce modèle a été entraîné sur un grand ensemble d'images et intègre quelques ajouts à l'architecture, comme des couches de normalisation par lot (batch norm).
Vous pouvez instancier le modèle avec UNet(), ce qui lui fournira les poids préentraînés. Votre tâche consiste à l'utiliser pour produire des masques de segmentation pour l'image suivante d'une voiture.

Image de PIL a déjà été importé pour vous.
Cette activité fait partie du cours
Deep Learning pour les images avec PyTorch
Instructions de l’exercice
- Instanciez
UNet()dans une variable appeléemodel. - Chargez l'image
car.jpgdans une variable appeléeimage. - Produisez des masques de segmentation en passant l'image au modèle, puis appliquez
squeeze(0)à la sortie.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()