Modellbewertung anhand eines benutzerdefinierten Datensatzes
In dieser Übung wirst du ein „ evaluator ” aus dem Hugging Face-Paket „ evaluate ” verwenden, um die Leistung eines vortrainierten Modells auf einem benutzerdefinierten Datensatz zu bewerten. Beachte, dass bei der Klassifizierung mehrerer Klassen mit unausgewogenen Datensätzen die Genauigkeit kein zuverlässiger Leistungsindikator ist. Deshalb nutzt du die Funktion des Evaluators, um mehrere Messwerte gleichzeitig zu bekommen: die Präzision und den Recall.
Ein Datensatz (dataset) und eine Pipeline (pipe) sind schon vorbereitet. Die Bibliothek „ evaluate “ und die Klasse „ evaluator “ wurden auch schon importiert.
Diese Übung ist Teil des Kurses
Multimodale Modelle mit Hugging Face
Anleitung zur Übung
- Erstelle eine Instanz von „
evaluator” für deine Aufgabe „"image-classification"”. - Hol die Zuordnung von ganzzahligen Etiketten zu Zeichenfolgen aus der Pipeline raus.
- Schau dir den Datensatz (
dataset) und die Pipeline (pipe) an und bewerte sie mit den Metriken, die untermetrics_dictundlabel_mapgespeichert sind.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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}")