Apprentissage zéro-shot avec CLIP
Vous allez utiliser l'apprentissage zéro-shot pour classer une image du jeu de données rajuptvs/ecommerce_products_clip, qui contient environ 2 k images de produits accompagnées de descriptions :

Le jeu de données (dataset), le CLIPProcessor (processor) et le CLIPModel (model) ont été chargés pour vous, ainsi qu'une liste de catégories :
categories = ["shirt", "trousers", "shoes", "dress", "hat",
"bag", "watch", "glasses", "jacket", "belt"]
Cette activité fait partie du cours
Modèles multimodaux avec Hugging Face
Instructions de l’exercice
- Utilisez le
processorpour prétraiter lescategorieset l'image à l'indice999dedataset; activez le remplissage (padding). - Passez les
inputsdécompressés aumodel. - Calculez les probabilités de chaque catégorie à l'aide de l'attribut
.logits_per_imageet de la méthode.softmax(). - Trouvez la catégorie la plus probable en utilisant
probsetcategories.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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}")