Évaluation du modèle sur un ensemble de données personnalisé
Dans cet exercice, vous utiliserez une interface utilisateur ( evaluator ) du package Hugging Face evaluate pour évaluer les performances d'un modèle pré-entraîné sur un ensemble de données personnalisé. Veuillez noter que, pour la classification multi-classes avec des déséquilibres dans les ensembles de données, la précision n'est pas un indicateur de performance fiable. Par conséquent, vous utiliserez la capacité de l'évaluateur à fournir plusieurs mesures à la fois : la précision et le rappel.
Un ensemble de données (dataset) et un pipeline (pipe) ont été prédéfinis. La bibliothèque evaluate et la classe evaluator ont également déjà été importées.
Cet exercice fait partie du cours
Modèles multimodaux avec Hugging Face
Instructions
- Instancier une instance d'
evaluatorpour votre tâche d'"image-classification". - Extrayez le mappage des étiquettes entier-chaîne de caractères du pipeline.
- Évaluez l'ensemble de données (
dataset) et le pipeline (pipe) à l'aide des métriques stockées dansmetrics_dictetlabel_map.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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}")