LoslegenKostenlos loslegen

Bildklassifizierung mit ResNet

Du hast das Modell aus dem vortrainierten ResNet18 erstellt. Jetzt ist es Zeit, das Ganze an einem Beispielbild auszuprobieren.

Du wirst Vorverarbeitungstransformationen auf ein Bild anwenden und es klassifizieren. Du musst die Schicht „ softmax() “ und dann „ argmax() “ verwenden, weil ResNet18 mit einem Datensatz mit mehreren Klassen trainiert wurde.

Du hast das folgende Bild für den Vorhersagetest ausgewählt: Eine Tasse Espresso

Die Vorverarbeitungstransformation wird als „ preprocess “ gespeichert. Das PIL-Bild ist als „ img “ hochgeladen.

Diese Übung ist Teil des Kurses

Deep Learning für Bilder mit PyTorch

Kurs anzeigen

Anleitung zur Übung

  • Wende die Vorverarbeitungstransformationen auf das Bild an und formiere es mit „ .unsqueeze(0) “, um die Batch-Dimension hinzuzufügen.
  • Schick das Bild durch das Modell, form die Ausgabe mit „ .squeeze(0) “ um, um die Batch-Dimension zu entfernen, und füge eine „ softmax() “-Schicht hinzu.
  • Wende „ argmax() “ an, um die Klasse mit der höchsten Wahrscheinlichkeit auszuwählen.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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 bearbeiten und ausführen