CV fine-tuning: model classes
In this exercise, you will load the pretrained model, and adapt the output to accommodate a new classification of car model types from the Stanford Cars dataset instead of the 1000 classes used for the original ImageNet training. The dataset contains labelled images of cars.
The dataset has been loaded (dataset
), as has AutoModelForImageClassification
from transformers
. The dataset has been filtered so that three model types are included.
This exercise is part of the course
Multi-Modal Models with Hugging Face
Exercise instructions
- Obtain the new label names from the dataset
- Add the new
id2label
mapping while loading the model. - Add the corresponding
label2id
mapping. - Add the required flag to change the number of classes.
Hands-on interactive exercise
Have a go at this exercise by completing this sample 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=____
)