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
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
predictionsalabelsnapříč 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)