【训练与预测】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数据集的输出对应类别:

相关推荐
Juchecar几秒前
翻译:与语言无关的编程:为什么你可能仍然需要代码
人工智能
云心雨禅1 分钟前
AI训练成本优化,腾讯云GPU实例选型
人工智能·云计算·腾讯云
聚梦小课堂2 分钟前
2025年11月11日 AI快讯
人工智能·新闻资讯·ai大事件
CoovallyAIHub2 分钟前
结构化数据迎来“ChatGPT时刻”!LimitX:一个模型统一所有表格任务
深度学习·算法·计算机视觉
taxunjishu4 分钟前
Modbus RTU 转 Modbus TCP:借助数据采集提升罗克韦尔PLC工艺参数反馈实时性案例
人工智能·物联网·tcp/ip·工业物联网·工业自动化·总线协议
IT考试认证8 分钟前
微软AI-900考试认证题库
人工智能·microsoft
Mintopia11 分钟前
🧠 可定制化 AIGC:Web 用户个性化模型训练的技术门槛正在塌缩!
前端·人工智能·trae
打码人的日常分享12 分钟前
智慧楼宇资料合集,智慧城市智慧社区智慧园区
大数据·网络·人工智能
月下倩影时20 分钟前
视觉进阶篇—— PyTorch 安装
人工智能·pytorch·python
ThreeS_tones28 分钟前
ppo爬坡代码及解释
人工智能·深度学习