始める無料で始める

CVのファインチューニング:モデルクラス

この演習では、事前学習済みモデルを読み込み、元の ImageNet の 1000 クラスではなく、Stanford Cars データセット に含まれる新しい「車種」分類に合わせて出力を調整します。データセットには車のラベル付き画像が含まれています。

データセット(dataset)と、transformersAutoModelForImageClassification はすでに読み込まれています。データセットは、3 つの車種のみを含むようにフィルタ済みです。

この演習はコースの一部です

Hugging Face で学ぶマルチモーダルモデル

コースを見る

演習の手順

  • データセットから新しいラベル名を取得します。
  • モデルの読み込み時に、新しい id2label マッピングを追加します。
  • 対応する label2id マッピングを追加します。
  • クラス数を変更するために必要なフラグを追加します。

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

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

# Obtain the new label names from the dataset
labels = dataset["train"].features["____"].____

label2id, id2label = dict(), dict()
for i, label in enumerate(labels):
    label2id[label] = str(i)
    id2label[str(i)] = label

model = AutoModelForImageClassification.from_pretrained(
    "google/mobilenet_v2_1.0_224",
    num_labels=len(labels),
    # Add the id2label mapping
    id2label=____,
    # Add the corresponding label2id mapping
    label2id=____,
    # Add the required flag to change the number of classes
    ignore_mismatched_sizes=____
)
コードを編集して実行