Ajustement fin en CV : classes de modèles
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 1000 classes utilisées pour l'entraînement initial sur ImageNet. Le jeu de données contient des images d'autos avec étiquettes.
Le jeu de données a été chargé (dataset), tout comme AutoModelForImageClassification de transformers. Le jeu a été filtré afin d'inclure trois types de modèles.
Cette activité fait partie du cours
Modèles multimodaux avec Hugging Face
Instructions de l’exercice
- Obtenez les nouveaux noms d'étiquettes à partir du jeu de données.
- Ajoutez la nouvelle correspondance
id2labellors du chargement du modèle. - Ajoutez la correspondance
label2idcorrespondante. - Ajoutez l'indicateur requis pour changer le nombre de classes.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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=____
)