Bildklassifikation mit ResNet
Du hast das Modell aus dem vortrainierten ResNet18 erstellt. Jetzt ist es Zeit, es an einem Beispielbild zu testen.
Du wendest Vorverarbeitungs-Transforms auf ein Bild an und klassifizierst es. Du musst die softmax()-Schicht verwenden, gefolgt von argmax(), da ResNet18 auf einem Multiklassen-Datensatz trainiert wurde.
Du hast folgendes Bild für die Vorhersage ausgewählt:

Der Vorverarbeitungs-Transform ist als preprocess gespeichert. Das PIL-Bild ist als img hochgeladen.
Diese Übung ist Teil des Kurses
Deep Learning für Bilder mit PyTorch
Anleitung zur Übung
- Wende die Vorverarbeitungs-Transforms auf das Bild an und forme es mit
.unsqueeze(0)um, um die Batch-Dimension hinzuzufügen. - Leite das Bild durch das Modell, forme die Ausgabe mit
.squeeze(0)um, um die Batch-Dimension zu entfernen, und füge einesoftmax()-Schicht hinzu. - Verwende
argmax(), um die Klasse mit der höchsten Wahrscheinlichkeit auszuwählen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)