Aan de slagGa gratis aan de slag

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

Cursus bekijken

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=____
)
Code bewerken en uitvoeren