Sätt modellen i utvärderingsläge
Nu är det dags att sätta din språkmodell i utvärderingsläge. Om modellen inte är i utvärderingsläge under inferens kommer lager som batchnormalisering och dropout att påverka modellens beteende, vilket leder till inkonsekvent översättningskvalitet. Bygg loopen för att utvärdera modellen!
En del data har laddats in i förväg: model, eval_dataloader, accelerator och metric.
Den här övningen är en del av kursen
Effektiv AI-modellträning med PyTorch
Övningsinstruktioner
- Sätt modellen i utvärderingsläge innan du loopar igenom batchar i datamängden.
- Aggregera
predictionsochlabelsöver enheter för att beräkna utvärderingsmått med Accelerators.gather_for_metrics()-metod. - Beräkna utvärderingsmåttet i slutet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)