Zacznij terazZacznij za darmo

Klasyfikacja obrazów z użyciem ResNet

Model na bazie wstępnie wytrenowanego ResNet18 jest już gotowy. Czas przetestować go na przykładowym obrazie.

Zastosujesz przekształcenia wstępnego przetwarzania do obrazu, a następnie sklasyfikujesz go. Ponieważ ResNet18 był trenowany na zbiorze danych wieloklasowych, będziesz potrzebować warstwy softmax() oraz funkcji argmax().

Do testowania predykcji wybrano następujący obraz: A cup of espresso

Przekształcenie wstępnego przetwarzania jest zapisane jako preprocess. Obraz PIL jest wczytany jako img.

To ćwiczenie jest częścią kursu

Głębokie uczenie dla obrazów z PyTorch

Zobacz kurs

Instrukcje do ćwiczenia

  • Zastosuj przekształcenia wstępnego przetwarzania do obrazu i zmień jego kształt za pomocą .unsqueeze(0), aby dodać wymiar wsadu (batch).
  • Przepuść obraz przez model, zmień kształt wyników za pomocą .squeeze(0), aby usunąć wymiar wsadu, i dodaj warstwę softmax().
  • Zastosuj argmax(), aby wybrać klasę z najwyższym prawdopodobieństwem.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod