LoslegenKostenlos loslegen

Einstellen des Modells im Bewertungsmodus

Du bist bereit, dein Sprachmodell in den Evaluierungsmodus zu versetzen. Wenn sich das Modell während der Inferenz nicht im Evaluierungsmodus befindet, führen Schichten wie die Batch-Normalisierung und das Dropout zu Änderungen im Verhalten des Modells, was zu einer uneinheitlichen Übersetzungsqualität führt. Baue die Schleife, um das Modell zu bewerten!

Einige Daten wurden bereits vorgeladen: model, eval_dataloader, accelerator, und metric.

Diese Übung ist Teil des Kurses

Effizientes KI-Modelltraining mit PyTorch

Kurs anzeigen

Anleitung zur Übung

  • Versetze das Modell in den Evaluierungsmodus, bevor du die Batches im Datensatz durchgehst.
  • Fasse predictions und labels geräteübergreifend zusammen, um mit der Accelerator-Methode .gather_for_metrics() Bewertungsmetriken zu berechnen.
  • Berechne am Ende die Bewertungsmetrik.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

metric = evaluate.load("glue", "mrpc")

# Set the model in evaluation mode
____.____()
for step, batch in enumerate(eval_dataloader):
    with torch.no_grad():
        outputs = model(**batch)
    predictions = outputs.logits.argmax(dim=-1)
    # Aggregate values across devices
    predictions, references = ____.____((predictions, batch["labels"]))
    metric.add_batch(predictions=predictions, references=references)
# Compute the evaluation metric
eval_metric = metric.____()
print(eval_metric)
Code bearbeiten und ausführen