• PyTorch计算机视觉入门:测试模型与评估,对单帧图片进行推理


    在完成模型的训练之后,对模型进行测试与评估是至关重要的一步,它能帮助我们理解模型在未知数据上的泛化能力。本篇指南将带您了解如何使用PyTorch进行模型测试,并对测试结果进行分析。我们将基于之前训练好的模型,演示如何加载数据、进行预测、计算指标以及可视化结果。

    准备工作

    假设您已经有一个训练好的模型,保存在.pth文件中,以及一个用于测试的自定义数据集。我们将继续使用前文提到的自定义数据集CustomDataset类,并引入一些新的概念和代码。

    加载测试数据集

    与训练过程类似,首先需要加载测试数据集,并对其进行适当的预处理。确保您的测试集遵循与训练集相同的数据结构和预处理步骤。

    1. test_dataset = CustomImageDataset(data_path="./data/", model= "test", transform = transform)
    2. test_loader = DataLoader(test_dataset, batch_size=64, shuffle=True)

    测试模型

    训练完成后,使用测试数据集来评估模型的性能

    1. def test(model, device, test_loader):
    2. model.eval()
    3. test_loss = 0
    4. correct = 0
    5. with torch.no_grad():
    6. for data, target in test_loader:
    7. data, target = data.to(device), target.to(device)
    8. output = model(data)
    9. test_loss += criterion(output, target)
    10. # max 函数返回两个值,一个是是数值,一个是index
    11. pred = output.max(1, keepdim=True)[1] # 找到概率最大的下标
    12. correct += pred.eq(target.view_as(pred)).sum().item()
    13. test_loss /= len(test_loader.dataset)
    14. print('\nTest set: Average loss: {:.4f}, Accuracy: {}/{} ({:.0f}%)\n'.format(
    15. test_loss, correct, len(test_loader.dataset),
    16. 100. * correct / len(test_loader.dataset)))
    Test set: Average loss: 0.0018, Accuracy: 9671/10000 (97%)

    单帧图片进行测试

    1. # test single image
    2. img = Image.open("./data/data_test/1.jpg")
    3. img_t = transform(img)
    4. img_t = img_t.unsqueeze(0) # 变为[1, 1, 28, 28]
    5. img_t = img_t.to(device)
    6. model.eval()
    7. output = model(img_t)
    8. _, predicted_class = torch.max(output, 1)
    9. print(predicted_class)
    tensor([2], device='cuda:0')

    通过以上步骤,我们可以全面地评估和分析PyTorch模型在计算机视觉任务中的表现,从而确保模型在实际应用中的有效性和可靠性。

    关注我的公众号auto_driver_ai(Ai fighting), 第一时间获取更新内容。

  • 相关阅读:
    神经网络一般有哪几个层,神经网络的层数怎么看
    Java集成第三方支付宝(会员卡)——文档篇
    强固型国产化工业电脑,在电子看板行业应用,机器视觉在汽车产线行业应用
    假如面试官问你Babel的原理该怎么回答
    CentOS7---部署Tomcat和安装Jpress
    学生护眼台灯怎么选?性价比高的学生护眼台灯
    问题排查---应用程序不在接收新请求
    helm tekonci 技术总结待续
    超低延时 TCP/UDP IP核
    【无标题】
  • 原文地址:https://blog.csdn.net/laukal/article/details/139693762