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:

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
Instrukcje do ćwiczenia
- Użyj
processor, aby wstępnie przetworzyćcategoriesi obraz pod indeksem999ze zbiorudataset; włącz padding. - Przekaż rozpakowane
inputsdomodel. - Oblicz prawdopodobieństwa każdej kategorii, używając atrybutu
.logits_per_imagei metody.softmax(). - Znajdź najbardziej prawdopodobną kategorię, korzystając z
probsicategories.
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}")