ПочатиПочніть безкоштовно

Переведення моделі в режим оцінювання

Ви готові перевести свою мовну модель у режим оцінювання. Якщо під час інференсу модель не в режимі оцінювання, такі шари, як batch normalization і dropout, змінюватимуть поведінку моделі, що призведе до несталої якості перекладу. Побудуйте цикл для оцінювання моделі!

Деякі дані вже завантажено: model, eval_dataloader, accelerator та metric.

Ця вправа є частиною курсу

Ефективне тренування моделей ШІ з PyTorch

Переглянути курс

Інструкції до вправи

  • Переведіть модель у режим оцінювання перед ітерацією пакетами в наборі даних.
  • Агрегуйте predictions і labels між пристроями для обчислення метрик оцінювання за допомогою методу Accelerator .gather_for_metrics().
  • Наприкінці обчисліть метрику оцінювання.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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)
Редагувати та запускати код