Classification d’images avec ResNet
Vous avez créé le modèle à partir de ResNet18 pré-entraîné. Il est maintenant temps de le tester sur une image d’exemple.
Vous allez appliquer des transformations de prétraitement à une image et la classer. Vous devrez utiliser la couche softmax() suivie de argmax(), car ResNet18 a été entraîné sur un jeu de données multi-classes.
Vous avez sélectionné l’image suivante pour le test de prédiction :

La transformation de prétraitement est enregistrée sous preprocess. L’image PIL est chargée dans img.
Cet exercice fait partie du cours
Deep Learning pour l’image avec PyTorch
Instructions
- Appliquez les transformations de prétraitement à l’image et redimensionnez-la avec
.unsqueeze(0)pour ajouter la dimension batch. - Faites passer l’image dans le modèle, redimensionnez la sortie avec
.squeeze(0)pour supprimer la dimension batch, et ajoutez une couchesoftmax(). - Appliquez
argmax()pour sélectionner la classe avec la probabilité la plus élevée.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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)