Začněte nyníZačněte zdarma

Fine-tuning CV modelu: třídy modelu

V tomto cvičení načteš předtrénovaný model a upravíš jeho výstup tak, aby odpovídal nové klasifikaci typů automobilů z datasetu Stanford Cars – místo původních 1 000 tříd použitých při trénování na ImageNetu. Dataset obsahuje obrázky aut s popisky.

Dataset je už načtený (dataset), stejně jako AutoModelForImageClassification z transformers. Dataset byl filtrovaný tak, aby obsahoval tři typy automobilů.

Toto cvičení je součástí kurzu

Multi-Modal Models with Hugging Face

Zobrazit kurz

Pokyny k cvičení

  • Získej nové názvy tříd z datasetu.
  • Přidej nové mapování id2label při načítání modelu.
  • Přidej odpovídající mapování label2id.
  • Přidej potřebný příznak pro změnu počtu tříd.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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=____
)
Upravit a spustit kód