CommencerCommencer gratuitement

Classification d'images avec ResNet

Vous avez créé le modèle à partir du modèle 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 d'softmax(), suivie de la couche de réinitialisation des classes ( argmax()), car ResNet18 a été entraîné sur un ensemble de données multi-classes.

Vous avez sélectionné l'image suivante pour effectuer les tests de prédiction : Une tasse d'espresso

La transformation de prétraitement est enregistrée sous le nom « preprocess ». L'image PIL est téléchargée sous le nom « img ».

Cet exercice fait partie du cours

Deep learning pour les images avec PyTorch

Afficher le cours

Instructions

  • Appliquez les transformations de prétraitement à l'image et remodelez-la à l'aide de la méthode « .unsqueeze(0) » afin d'ajouter la dimension de lot.
  • Transmettez l'image au modèle, remodelez la sortie à l'aide de la fonction « .squeeze(0) » pour supprimer la dimension batch, puis ajoutez une couche « softmax() ».
  • Appliquez l'algorithme de classification par échantillonnage aléatoire ( argmax() ) pour sélectionner la classe la plus probable.

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