Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz instancję klasy evaluator dla 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 w metrics_dict i label_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}")
Edytuj i uruchom kod