Aan de slagBegin gratis

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

Bekijk cursus

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.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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