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

相关推荐
找方案2 分钟前
AI医疗大模型获批三类证:AI诊疗正式纳入正规医疗体系
人工智能·dubbo·ai医疗·ai医疗大模型·ai诊疗
黎阳之光10 分钟前
黎阳之光:用“视频孪生”擦亮国门智慧底色
大数据·人工智能·物联网·安全·数字孪生
ONEYAC唯样10 分钟前
唯样-MLCC、电阻、电感集体升温,AI时代正在重塑被动元件格局
人工智能
ZhiMuZhiLing19 分钟前
B端销售线索管理优化:基于四象限分类的差异化跟进策略分析
大数据·人工智能·创业创新
Python私教22 分钟前
Django + AI 做智能工单系统:自动分类、重复合并、服务时限与人工审批实战
人工智能·python·django
yuhulkjv33523 分钟前
ChatGPT 复制有星号导出文档杂乱?AI 导出鸭一站式清理格式解决导出难题
人工智能·ai·chatgpt·ai导出鸭
Lee_jerome26 分钟前
python神经网络编程入门(十七)——RNN BPTT算法(上):梯度沿时间轴传播的链式法则
rnn·深度学习·神经网络·numpy·反向传播·梯度消失·bptt
千禧皓月30 分钟前
【深度学习】参数量和GFLOPs的计算
深度学习·参数量·gflops·thop·torchinfo
mlidongfeng34 分钟前
[AI][昇腾950] Scalar 性能优化
人工智能·性能优化
鱼饼Y38 分钟前
AI时代,使用大模型学习LangChain (3)——LCEL
人工智能·langchain