始める無料で始める

CLIP でのゼロショット学習

rajuptvs/ecommerce_products_clip データセットから、ゼロショット学習を使って画像を分類します。このデータセットには、商品画像が約2,000枚と、それぞれに対応する説明が含まれています。

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 を使って、dataset のインデックス 999 の画像と categories を前処理します。パディングを有効にしてください。
  • アンパックした inputsmodel に渡します。
  • .logits_per_image 属性と .softmax() メソッドを使って、各カテゴリの確率を計算します。
  • probscategories を使って、最も確からしいカテゴリを見つけてください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# 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}")
コードを編集して実行