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

相关推荐
geneculture几秒前
语(暨各级各类字组)对接外来的词和句以及本土的言和语:言和语的关系及双重形式化彻底解决问题
人工智能·语言学·融智学应用场景·哲学与科学统一性·融智时代(杂志)
凯丨几秒前
agentmemory on NAS 完整部署文档(Tailscale + DeepSeek 压缩 + 局域网 viewer)
人工智能
weixin_446260852 分钟前
Vortex:高效可编程稀疏注意力机制用于大模型推理服务
人工智能
AI科技星2 分钟前
精细结构常数α的多维度物理比值特性及空间螺旋模型研究
人工智能·线性代数·架构·概率论·学习方法
zhangfeng11332 分钟前
头部AI公司模以OpenAI、DeepSeek为代表型版本迭代训练策略深度解析:重新训练 vs. 增量训练(前瞻性技术推演
人工智能
装不满的克莱因瓶3 分钟前
掌握感知器的学习原理
人工智能·python·神经网络·算法·ai·卷积神经网络
卡梅德生物科技小能手8 分钟前
卡美德生物科普:LOXL2(赖氨酰氧化酶样蛋白2)
人工智能·经验分享·生活
Dragon Wu9 分钟前
AI视频创作笔记(五)短剧制作流程
人工智能·ai
一切皆是因缘际会12 分钟前
AI产业的深度变革与未来思辨
人工智能·ai·架构
不爱土豆唯爱马铃薯13 分钟前
MONKEYCODE 教程系列MC-025 | 实战AI客服机器人
人工智能·数据挖掘