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
Instructions
- Récupérez les nouveaux noms de labels depuis le jeu de données
- Ajoutez la nouvelle correspondance
id2labellors du chargement du modèle. - Ajoutez la correspondance
label2idcorrespondante. - 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=____
)