【训练与预测】02 - 完整的模型验证套路

02 - 完整的模型验证套路

模型图

验证一个模型就是指使用已经训练好的模型,然后给它提供输入。

test.py

python 复制代码
import torch
import torchvision
from PIL import Image

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
image_path = r"images/鸡毛.jpg"
# 加入.convert("RGB")可以适应各种格式的图片,例如png是RGBA四个通道,转换后变为类似jpg的三个通道RGB
image = Image.open(image_path).convert("RGB")
# 重新变换图片尺寸,然后转换为张量
transform = torchvision.transforms.Compose([torchvision.transforms.Resize((32, 32)),
                                            torchvision.transforms.ToTensor()])

image = transform(image)
# 输出图片尺寸
print(image.shape)
# 加载模型
model = torch.load(r"myNet_pth/myNet_trained_9.pth")
# 将模型用GPU加载
model = model.to(device)
# 使用图片
image = torch.reshape(image, (1, 3, 32, 32))
# 将图片用GPU加载
image = image.to(device)
# 模型设置为测试模式
model.eval()
# 忽略梯度
with torch.no_grad():
    output = model(image)

print(output)
print(output.argmax(1))

注意,如果是使用GPU保存的模型,然后使用CPU预测的话,需要在torch.load中加入另一个参数:map_location=torch.device("cpu")

这边我使用一个epoch=30的模型进行预测。

CIFAR10数据集的输出对应类别:

相关推荐
endcy20161 分钟前
多路召回之-PGSQL的关键词检索分词插件安装
人工智能·ai·postgresql
bulingg3 分钟前
bert常见的变体
人工智能·深度学习·bert
大千AI助手6 分钟前
惰性学习:延迟决策的机器学习范式
人工智能·机器学习·大千ai助手·惰性学习·懒惰学习·lazy learning·基于记忆的学习
南极星10058 分钟前
OPENCV(python)——初学之路(十三)分水岭算法的图像切割
人工智能·opencv·计算机视觉
Aspect of twilight13 分钟前
各种attention的变体:MHA,GQA,MQA,MLA(DeepSeek-V2)详解
人工智能·attention
彼岸花开了吗13 分钟前
构建AI智能体:四十五、从专用插件到通用协议:MCP如何重新定义AI工具生态
人工智能·python·mcp
tangdou36909865513 分钟前
AI真好玩系列-Three.js手势控制游戏开发教程 | Interactive Game Development with Three.js Hand Con
前端·人工智能·ai编程
StableAndCalm15 分钟前
什么是cuda
人工智能
许泽宇的技术分享18 分钟前
当AI竞赛遇上云原生:EvalAI如何用450+挑战赛重新定义机器学习评估标准
人工智能·机器学习·云原生
测试人社区—841618 分钟前
当AI遇见测试:构建自适应自修复测试框架的开源实践
人工智能