Aan de slagGa gratis aan de slag

Beeldclassificatie met ResNet

Je hebt het model gemaakt op basis van de voorgetrainde ResNet18. Nu is het tijd om het te testen op een voorbeeldafbeelding.

Je gaat preprocessing-transformaties toepassen op een afbeelding en deze classificeren. Je moet de softmax()-laag gebruiken, gevolgd door argmax(), omdat ResNet18 is getraind op een multi-class gegevensset.

Je hebt de volgende afbeelding geselecteerd om de voorspelling te testen: A cup of espresso

De preprocessing-transformatie is opgeslagen als preprocess. De PIL-afbeelding is geüpload als img.

Deze oefening maakt deel uit van de cursus

Deep Learning voor afbeeldingen met PyTorch

Cursus bekijken

Oefeninstructies

  • Pas de preprocessing-transformaties toe op de afbeelding en vorm deze om met .unsqueeze(0) om de batch-dimensie toe te voegen.
  • Stuur de afbeelding door het model, vorm de uitvoer om met .squeeze(0) om de batch-dimensie te verwijderen, en voeg een softmax()-laag toe.
  • Pas argmax() toe om de klasse met de hoogste waarschijnlijkheid te selecteren.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)
Code bewerken en uitvoeren