开始使用免费开始使用

模型评估

在训练循环就绪后,您已经将模型训练了 1000 个 epoch,并将其保存为 net。您还像之前设置 train_dataloader 一样设置了 test_dataloader——只是这次从测试目录而不是训练目录读取数据。

现在可以在测试数据上评估模型了。为此,您需要编写评估循环,遍历测试数据的各个批次,获取模型对每个批次的预测,并计算相应的准确率分数。我们开始吧!

本练习是课程的一部分

PyTorch 深度学习进阶

查看课程

练习说明

  • 将二分类的评估指标设置为 Accuracy,并将其赋给 acc
  • 对于每个测试数据批次,获取模型输出并将其赋给 outputs
  • 循环结束后,计算测试集的总体准确率,并将其赋给 test_accuracy

交互式实操练习

通过完成这段示例代码来试试这个练习。

import torch
from torchmetrics import Accuracy

# Set up binary accuracy metric
acc = ____

net.eval()
with torch.no_grad():
    for features, labels in dataloader_test:
        # Get predicted probabilities for test data batch
        outputs = ____
        preds = (outputs >= 0.5).float()
        acc(preds, labels.view(-1, 1))

# Compute total test accuracy
test_accuracy = ____
print(f"Test accuracy: {test_accuracy}")
编辑并运行代码