ÎncepețiÎncepe gratuit

Setarea modelului în modul de evaluare

Ești pregătit să setezi modelul de limbaj în modul de evaluare. Dacă modelul nu se află în modul de evaluare în timpul inferenței, straturi precum normalizarea pe lot (batch normalization) și dropout vor modifica comportamentul modelului, ducând la o calitate inconsistentă a traducerii. Construiește bucla pentru a evalua modelul!

Unele date au fost preîncărcate: model, eval_dataloader, accelerator și metric.

Acest exercițiu face parte din cursul

Antrenament eficient al modelelor AI cu PyTorch

Vezi cursul

Instrucțiuni pentru exercițiu

  • Setează modelul în modul de evaluare înainte de a parcurge loturile din setul de date.
  • Agregă predictions și labels pe toate dispozitivele pentru a calcula metricile de evaluare, folosind metoda .gather_for_metrics() a obiectului Accelerator.
  • Calculează metrica de evaluare la final.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul