Dostrajanie CV: klasy modelu
W tym ćwiczeniu wczytasz wstępnie wytrenowany model i dostosujesz jego wyjście do nowej klasyfikacji typów modeli samochodów ze zbioru danych Stanford Cars – zamiast 1000 klas używanych podczas oryginalnego trenowania na ImageNet. Zbiór danych zawiera otagowane obrazy samochodów.
Zbiór danych został wczytany (dataset), podobnie jak AutoModelForImageClassification z biblioteki transformers. Zbiór danych został przefiltrowany tak, aby uwzględniał trzy typy modeli.
To ćwiczenie jest częścią kursu
Modele multimodalne z Hugging Face
Instrukcje do ćwiczenia
- Pobierz nowe nazwy etykiet ze zbioru danych.
- Dodaj nowe mapowanie
id2labelpodczas wczytywania modelu. - Dodaj odpowiadające mu mapowanie
label2id. - Dodaj wymagany parametr, aby zmienić liczbę klas.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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=____
)