Classificazione di immagini con ResNet
Hai creato il modello a partire da ResNet18 pre-addestrata. Ora è il momento di testarlo su un'immagine di esempio.
Applicherai le trasformazioni di preprocessing a un'immagine e la classificherai. Dovrai usare il livello softmax() seguito da argmax(), dato che ResNet18 è stata addestrata su un insieme di dati multi-class.
Hai selezionato la seguente immagine per il test di previsione:

La trasformazione di preprocessing è salvata come preprocess. L'immagine PIL è caricata come img.
Questo esercizio fa parte del corso
Deep Learning per Immagini con PyTorch
Istruzioni dell'esercizio
- Applica le trasformazioni di preprocessing all'immagine e ridimensionala usando
.unsqueeze(0)per aggiungere la dimensione del batch. - Passa l'immagine attraverso il modello, ridimensiona l'output usando
.squeeze(0)per rimuovere la dimensione del batch e aggiungi un livellosoftmax(). - Applica
argmax()per selezionare la classe con probabilità più alta.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Apply preprocessing transforms
batch = ____.____
# Apply model with softmax layer
prediction = ____.____.____
# Apply argmax
class_id = prediction.____.item()
score = prediction[class_id].item()
category_name = weights.meta["categories"][class_id]
print(category_name)