Avaliação do modelo em um conjunto de dados personalizado
Neste exercício, você vai usar um evaluator do pacote Hugging Face evaluate para avaliar o desempenho de um modelo pré-treinado em um conjunto de dados personalizado. Lembre-se que, para classificação com várias classes e desequilíbrio no conjunto de dados, a precisão não é um indicador de desempenho confiável. Então, você vai usar a capacidade do avaliador de dar várias medidas de uma vez: a precisão e a recuperação.
Um conjunto de dados (dataset) e um pipeline (pipe) já foram definidos. A biblioteca evaluate e a classe evaluator também já foram importadas.
Este exercício faz parte do curso
Modelos multimodais com Hugging Face
Instruções do exercício
- Crie uma instância de um objeto
evaluatorpara sua tarefa"image-classification". - Pega o mapeamento de rótulos de inteiro para string do pipeline.
- Dá uma olhada no conjunto de dados (
dataset) e no pipeline (pipe) usando as métricas que estão emmetrics_dictelabel_map.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Instantiate the task evaluator
task_evaluator = ____("____")
task_evaluator.METRIC_KWARGS = {"average": "weighted"}
# Get label map from pipeline
label_map = pipe.model.config.____
# Compute the metrics
eval_results = task_evaluator.____(model_or_pipeline=pipe, data=dataset,
metric=evaluate.____(metrics_dict), label_mapping=____)
print(f"Precision: {eval_results['precision']:.2f}, Recall: {eval_results['recall']:.2f}")