ПочатиПочніть безкоштовно

Zero-shot навчання з CLIP

Ви застосуєте zero-shot навчання, щоб класифікувати зображення з набору даних rajuptvs/ecommerce_products_clip, який містить близько 2 тис. зображень товарів із відповідними описами:

Image of a woman modeling a dress

Для вас уже завантажено набір даних (dataset), CLIPProcessor (processor) і CLIPModel (model), а також список категорій:

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

Ця вправа є частиною курсу

Багатомодальні моделі з Hugging Face

Переглянути курс

Інструкції до вправи

  • Використайте processor, щоб попередньо обробити categories та зображення з індексом 999 у dataset; увімкніть додавання заповнення (padding).
  • Передайте розпаковані inputs у model.
  • Обчисліть ймовірності для кожної категорії, використовуючи атрибут .logits_per_image та метод .softmax().
  • Знайдіть найімовірнішу категорію, використавши probs і categories.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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}")
Редагувати та запускати код