Ajustes no CV: classes do modelo
Neste exercício, você vai carregar o modelo pré-treinado e adaptar a saída para acomodar uma nova classificação de tipos de modelos de carros do conjunto de dados Stanford Cars, em vez das 1000 classes usadas para o treinamento original do ImageNet. O conjunto de dados tem imagens de carros com legendas.
O conjunto de dados foi carregado (dataset), assim como AutoModelForImageClassification de transformers. O conjunto de dados foi filtrado para incluir três tipos de modelos.
Este exercício faz parte do curso
Modelos multimodais com Hugging Face
Instruções do exercício
- Pegue os novos nomes das etiquetas do conjunto de dados.
- Adicione o novo mapeamento “
id2label” enquanto carrega o modelo. - Adicione o mapeamento
label2idque combina. - Adicione o sinalizador necessário para alterar o número de classes.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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=____
)