CVのファインチューニング:モデルクラス
この演習では、事前学習済みモデルを読み込み、元の ImageNet の 1000 クラスではなく、Stanford Cars データセット に含まれる新しい「車種」分類に合わせて出力を調整します。データセットには車のラベル付き画像が含まれています。
データセット(dataset)と、transformers の AutoModelForImageClassification はすでに読み込まれています。データセットは、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=____
)