Exécution de la segmentation sémantique
Félicitations pour la conception du réseau U-Net. Vous trouverez à votre disposition un modèle pré-entraîné très similaire à celui que vous venez de construire. Ce modèle a été entraîné sur un vaste ensemble d'images et comporte quelques ajouts mineurs à l'architecture, tels que les couches de normalisation par lots.
Vous pouvez instancier le modèle sous le nom d'UNet()
, qui fournira au modèle 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
Depuis PIL
a déjà été importé pour vous.
Cet exercice fait partie du cours
Deep learning pour les images avec PyTorch
Instructions
- Instanciez
UNet()
dans une variable nomméemodel
. - Veuillez charger l'image à l'adresse
car.jpg
dans une variable nomméeimage
. - Créez des masques de segmentation en transmettant l'image au modèle et en utilisant la fonction «
squeeze(0)
».
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()