IniziaInizia gratis

Fine-tuning CV: classi del modello

In questo esercizio caricherai il modello pre-addestrato e adatterai l'output per gestire una nuova classificazione dei tipi di modelli di auto dal dataset Stanford Cars, invece delle 1000 classi usate per l'addestramento originale su ImageNet. Il dataset contiene immagini di auto etichettate.

L'insieme di dati è stato caricato (dataset), così come AutoModelForImageClassification da transformers. Il dataset è stato filtrato in modo da includere tre tipi di modelli.

Questo esercizio fa parte del corso

Modelli multi-modali con Hugging Face

Visualizza il corso

Istruzioni dell'esercizio

  • Ricava i nuovi nomi delle etichette dal dataset
  • Aggiungi il nuovo mapping id2label durante il caricamento del modello.
  • Aggiungi il corrispondente mapping label2id.
  • Aggiungi il flag necessario per cambiare il numero di classi.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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=____
)
Modifica ed esegui il codice