Aprendizaje sin disparos con CLIP
Utilizarás el aprendizaje sin supervisión (zero-shot learning) para clasificar una imagen del conjunto de datos « rajuptvs/ecommerce_products_clip », que contiene alrededor de 2000 imágenes de productos junto con sus descripciones asociadas:

Se han cargado el conjunto de datos (dataset), CLIPProcessor (processor) y CLIPModel (model), así como una lista de categorías:
categories = ["shirt", "trousers", "shoes", "dress", "hat",
"bag", "watch", "glasses", "jacket", "belt"]
Este ejercicio forma parte del curso
Modelos multimodales con Hugging Face
Instrucciones del ejercicio
- Utiliza la función «
processor» para preprocesar la imagen «categories» y la imagen en el índice «999» de «dataset»; habilita el relleno. - Pasa el archivo descomprimido «
inputs» a «model». - Calcula las probabilidades de cada categoría utilizando el atributo «
.logits_per_image» y el método «.softmax()». - Encuentre la categoría más adecuada utilizando
probsycategories.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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}")