Model evalueren op een aangepaste gegevensset
In deze oefening gebruik je een evaluator uit het Hugging Face-pakket evaluate om de prestaties van een voorgetraind model op een aangepaste gegevensset te beoordelen. Let op: bij multi-class-classificatie met onevenwichtige gegevenssets is accuracy geen betrouwbare prestatie-indicator. Daarom maak je gebruik van het vermogen van de evaluator om meerdere maten tegelijk te geven: precision en recall.
Een gegevensset (dataset) en pipeline (pipe) zijn vooraf gedefinieerd. De evaluate-bibliotheek en de klasse evaluator zijn ook al geïmporteerd.
Deze oefening maakt deel uit van de cursus
Multi-modale modellen met Hugging Face
Oefeninstructies
- Maak een
evaluatoraan voor je"image-classification"-taak. - Haal de mapping van integer-naar-stringlabels op uit de pipeline.
- Evalueer de gegevensset (
dataset) en pipeline (pipe) met de metrieken inmetrics_dictenlabel_map.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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}")