Začněte nyníZačněte zdarma

Přepnutí modelu do režimu vyhodnocování

Teď je čas přepnout jazykový model do režimu vyhodnocování. Pokud model není v tomto režimu během inference, vrstvy jako batch normalization a dropout mohou změnit jeho chování a vést k nekonzistentní kvalitě překladu. Postav smyčku pro vyhodnocení modelu!

Některá data jsou již předem načtena: model, eval_dataloader, accelerator a metric.

Toto cvičení je součástí kurzu

Efficient AI Model Training with PyTorch

Zobrazit kurz

Pokyny k cvičení

  • Přepni model do režimu vyhodnocování ještě před tím, než začneš procházet dávky v datasetu.
  • Agreguj predictions a labels napříč zařízeními pro výpočet evaluačních metrik pomocí metody .gather_for_metrics() objektu Accelerator.
  • Na konci vypočítej výslednou evaluační metriku.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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)
Upravit a spustit kód