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:

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
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 eensoftmax()-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)