Ajuste del CV: clases de modelos
En este ejercicio, cargarás el modelo preentrenado y adaptarás la salida para acomodar una nueva clasificación de tipos de modelos de automóviles del conjunto de datos Stanford Cars, en lugar de las 1000 clases utilizadas para el entrenamiento original de ImageNet. El conjunto de datos contiene imágenes etiquetadas de coches.
El conjunto de datos se ha cargado (dataset), al igual que AutoModelForImageClassification desde transformers. El conjunto de datos se ha filtrado para incluir tres tipos de modelos.
Este ejercicio forma parte del curso
Modelos multimodales con Hugging Face
Instrucciones del ejercicio
- Obtener los nuevos nombres de etiquetas del conjunto de datos.
- Añade la nueva asignación «
id2label» mientras se carga el modelo. - Añade la asignación correspondiente de
label2id. - Añade el indicador necesario para cambiar el número de clases.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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=____
)