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

相关推荐
UR的出不克1 分钟前
基于机器学习的电力消耗预测系统实战
人工智能·机器学习
全栈开发圈2 分钟前
干货分享|深度学习计算的FPGA优化思路
人工智能·深度学习·fpga开发
linmoo198614 分钟前
Langchain4j 系列之二十九 - Guardrails之一
人工智能·langchain·langchain4j·guardrails
意疏17 分钟前
Claude Code 安装全流程:从零到真正用起来
人工智能
AskHarries19 分钟前
在 Windows 上使用 Python MCP 配置 Qoder CLI STDIO 服务教程
人工智能·adb·ai编程
lynn-fish33 分钟前
AI标讯数据揭秘:电力电缆市场的竞争密码
人工智能·电网·储能·软件·光伏·电力·ai工具
Loo国昌1 小时前
【LangChain1.0】第九阶段:文档处理工程 (LlamaIndex)
人工智能·后端·python·算法·langchain
罗伯特_十三1 小时前
Spring AI ChatModel 使用记录
java·人工智能·spring
AIbase20241 小时前
AI时代品牌流量争夺战:如何通过“品牌AI搜索监控”提升GEO可见度?
人工智能·chatgpt
老鱼说AI1 小时前
论文精读第七期:告别昂贵的人工标注!Math-Shepherd:如何用“零成本”自动化过程监督,让大模型数学能力暴涨?
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·boosting