Zacznij terazZacznij za darmo

Zero-shot learning z CLIP

Skorzystaj z techniki zero-shot learning, aby sklasyfikować obraz ze zbioru danych rajuptvs/ecommerce_products_clip, zawierającego około 2 tys. zdjęć produktów wraz z opisami:

Obraz kobiety prezentującej sukienkę

Zbiór danych (dataset), CLIPProcessor (processor) i CLIPModel (model) zostały już wczytane, podobnie jak lista kategorii:

categories = ["shirt", "trousers", "shoes", "dress", "hat", 
              "bag", "watch", "glasses", "jacket", "belt"]

To ćwiczenie jest częścią kursu

Modele multimodalne z Hugging Face

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj processor, aby wstępnie przetworzyć categories i obraz pod indeksem 999 ze zbioru dataset; włącz padding.
  • Przekaż rozpakowane inputs do model.
  • Oblicz prawdopodobieństwa każdej kategorii, używając atrybutu .logits_per_image i metody .softmax().
  • Znajdź najbardziej prawdopodobną kategorię, korzystając z probs i categories.

Interaktywne ćwiczenie praktyczne

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

# Preprocess the categories and image 
inputs = ____(text=____, images=____, return_tensors="pt", padding=____)

# Process the unpacked inputs with the model
outputs = ____

# Calculate the probabilities of each category
probs = outputs.____.____(dim=1)

# Find the most likely category
category = categories[probs.____.item()]
print(f"Predicted category: {category}")
Edytuj i uruchom kod