Ajustement du CV : classes de modèles
Dans cet exercice, vous allez charger le modèle pré-entraîné et adapter la sortie afin qu'elle puisse prendre en charge une nouvelle classification des types de modèles de voitures issue du jeu de données Stanford Cars, au lieu des 1 000 classes utilisées pour l'entraînement ImageNet d'origine. L'ensemble de données contient des images étiquetées de voitures.
L'ensemble de données a été chargé (dataset
), tout comme AutoModelForImageClassification
à partir de transformers
. L'ensemble de données a été filtré afin d'inclure trois types de modèles.
Cet exercice fait partie du cours
Modèles multimodaux avec Hugging Face
Instructions
- Obtenir les nouveaux noms d'étiquettes à partir de l'ensemble de données
- Ajoutez le nouveau mappage d'
id2label
s lors du chargement du modèle. - Ajoutez le mappage d'
label2id
s correspondant. - Veuillez ajouter l'indicateur requis 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=____
)