Bắt đầu ngayBắt đầu miễn phí

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:

Image of a woman modeling a dress

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

Xem khóa học

Hướng dẫn bài tập

  • Dùng processor để tiền xử lý categories và ảnh tại chỉ số 999 của dataset; bật padding.
  • Truyền inputs đã được giải nén vào model.
  • Tính xác suất cho từng hạng mục bằng thuộc tính .logits_per_image và phương thức .softmax().
  • Tìm hạng mục có khả năng cao nhất bằng probscategories.

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}")
Chỉnh sửa và Chạy Mã