CommencerCommencez gratuitement

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 : A cup of espresso

La transformation de prétraitement est enregistrée sous preprocess. L’image PIL est chargée dans img.

Cet exercice fait partie du cours

<cours>Deep Learning pour l’image avec PyTorch</cours>
Voir le cours

Instructions de l’exercice

  • 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 couche softmax().
  • Appliquez argmax() pour sélectionner la classe avec la probabilité la plus élevée.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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)
Modifier et exécuter le code