Ewaluacja modelu na własnym zbiorze danych
W tym ćwiczeniu użyjesz klasy evaluator z pakietu evaluate biblioteki Hugging Face, aby ocenić wydajność wstępnie wytrenowanego modelu na własnym zbiorze danych. Pamiętaj, że w przypadku klasyfikacji wieloklasowej z niezrównoważonymi danymi dokładność (accuracy) nie jest miarodajnym wskaźnikiem jakości. Dlatego skorzystasz z możliwości ewaluatora, który pozwala obliczyć kilka miar jednocześnie – precyzję i czułość (recall).
Zbiór danych (dataset) i potok (pipe) zostały już zdefiniowane. Biblioteka evaluate oraz klasa evaluator są też zaimportowane.
To ćwiczenie jest częścią kursu
Modele multimodalne z Hugging Face
Instrukcje do ćwiczenia
- Utwórz instancję klasy
evaluatordla zadania"image-classification". - Wyodrębnij z potoku mapowanie etykiet z liczb całkowitych na ciągi znaków.
- Przeprowadź ewaluację zbioru danych (
dataset) i potoku (pipe), korzystając z metryk zapisanych wmetrics_dictilabel_map.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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}")