CommencerCommencer gratuitement

Ajustement fin en CV : classes du modèle

Dans cet exercice, vous allez charger le modèle préentraîné et adapter sa sortie pour intégrer une nouvelle classification de types de modèles de voitures provenant du jeu de données Stanford Cars, au lieu des 1 000 classes utilisées pour l’entraînement initial sur ImageNet. Le jeu de données contient des images de voitures annotées.

Le jeu de données a été chargé (dataset), ainsi que AutoModelForImageClassification depuis transformers. Le jeu de données a été filtré pour inclure trois types de modèles.

Cet exercice fait partie du cours

Modèles multimodaux avec Hugging Face

Afficher le cours

Instructions

  • Récupérez les nouveaux noms de labels depuis le jeu de données
  • Ajoutez la nouvelle correspondance id2label lors du chargement du modèle.
  • Ajoutez la correspondance label2id correspondante.
  • Ajoutez l’option nécessaire pour modifier le nombre de classes.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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=____
)
Modifier et exécuter le code