CV-finetuning: modelklassen
In deze oefening laad je het voorgetrainde model en pas je de output aan voor een nieuwe classificatie van automodellen uit de Stanford Cars-gegevensset, in plaats van de 1000 klassen die gebruikt zijn voor de oorspronkelijke ImageNet-training. De gegevensset bevat gelabelde afbeeldingen van auto’s.
De gegevensset is geladen (dataset), net als AutoModelForImageClassification uit transformers. De gegevensset is gefilterd zodat drie modeltypen zijn opgenomen.
Deze oefening maakt deel uit van de cursus
Multi-modale modellen met Hugging Face
Oefeninstructies
- Haal de nieuwe labelnamen op uit de gegevensset
- Voeg de nieuwe
id2label-mapping toe tijdens het laden van het model. - Voeg de bijbehorende
label2id-mapping toe. - Voeg de vereiste vlag toe om het aantal klassen te wijzigen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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=____
)