Eseguire la segmentazione semantica
Ottimo lavoro nel progettare la U-Net! Hai a disposizione un modello già pre-addestrato molto simile a quello che hai appena costruito. Questo modello è stato addestrato su un ampio insieme di immagini e include alcune piccole aggiunte all'architettura, come i livelli di batch norm.
Puoi istanziare il modello con UNet(), che fornirà i pesi pre-addestrati. Il tuo compito è usarlo per produrre maschere di segmentazione per la seguente immagine di un'auto.

Image da PIL è già stato importato per te.
Questo esercizio fa parte del corso
Deep Learning per Immagini con PyTorch
Istruzioni dell'esercizio
- Istanzia
UNet()in una variabile chiamatamodel. - Carica l'immagine
car.jpgin una variabile chiamataimage. - Produci le maschere di segmentazione passando l'immagine al modello e applicando
squeeze(0)all'output.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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()