Évaluation d'un modèle sur un jeu de données personnalisé
Dans cet exercice, vous allez utiliser un evaluator du paquet evaluate de Hugging Face pour mesurer la performance d'un modèle préentraîné sur un jeu de données personnalisé. Notez que, pour une classification multi-classe avec déséquilibre des données, l'exactitude (accuracy) n'est pas un indicateur fiable. Vous exploiterez donc la capacité de l'évaluateur à fournir plusieurs mesures à la fois : la précision et le rappel.
Un jeu de données (dataset) et un pipeline (pipe) ont été prédéfinis. La bibliothèque evaluate et la classe evaluator ont aussi déjà été importées.
Cette activité fait partie du cours
Modèles multimodaux avec Hugging Face
Instructions de l’exercice
- Instanciez un
evaluatorpour votre tâche"image-classification". - Extrayez la correspondance des étiquettes d'entiers vers chaînes de caractères à partir du pipeline.
- Évaluez le jeu de données (
dataset) et le pipeline (pipe) en utilisant les mesures stockées dansmetrics_dictetlabel_map.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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}")