Bildklassificering med ResNet
Du har skapat modellen från den förtränade ResNet18. Nu är det dags att testa den på en exempelbild.
Du ska applicera förbehandlingstransformationer på en bild och klassificera den. Du behöver använda softmax()-lagret följt av argmax(), eftersom ResNet18 har tränats på en flerklass-datamängd.
Du har valt följande bild för att testa prediktionen:

Förbehandlingstransformationen är sparad som preprocess. PIL-bilden är uppladdad som img.
Den här övningen är en del av kursen
Djupinlärning för bilder med PyTorch
Övningsinstruktioner
- Applicera förbehandlingstransformationerna på bilden och omforma den med
.unsqueeze(0)för att lägga till batchdimensionen. - Skicka bilden genom modellen, omforma utdata med
.squeeze(0)för att ta bort batchdimensionen, och lägg till ettsoftmax()-lager. - Applicera
argmax()för att välja klassen med högst sannolikhet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)