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
Pokyny k cvičení
- Získej nové názvy tříd z datasetu.
- Přidej nové mapování
id2labelpř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=____
)