Học zero-shot với CLIP
Bạn sẽ dùng zero-shot learning để phân loại một ảnh từ bộ dữ liệu rajuptvs/ecommerce_products_clip, bộ này chứa khoảng 2 nghìn ảnh sản phẩm kèm mô tả liên quan:

Bộ dữ liệu (dataset), CLIPProcessor (processor) và CLIPModel (model) đã được tải sẵn cho bạn, cùng với danh sách hạng mục:
categories = ["shirt", "trousers", "shoes", "dress", "hat",
"bag", "watch", "glasses", "jacket", "belt"]
Bài tập này là một phần của khóa học
Mô hình đa phương thức với Hugging Face
Hướng dẫn bài tập
- Dùng
processorđể tiền xử lýcategoriesvà ảnh tại chỉ số999củadataset; bật padding. - Truyền
inputsđã được giải nén vàomodel. - Tính xác suất cho từng hạng mục bằng thuộc tính
.logits_per_imagevà phương thức.softmax(). - Tìm hạng mục có khả năng cao nhất bằng
probsvàcategories.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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}")