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

相关推荐
lunzi_08268 分钟前
【AI 杂谈】AI 的边界正在被谁定义?
人工智能
静Yu13 分钟前
给 AI 装上「身体」:我用魔珐星云做数字人的实践与接入教程
人工智能
OpenMiniServer15 分钟前
终极演化动力学:绝对悖论与信息重构
人工智能·重构
阿乔外贸日记15 分钟前
意大利进口主力产品及主要合作供应国
大数据·人工智能·物联网·搜索引擎·云计算
zybsjn19 分钟前
向量库与Embedding:知识库AI化的核心技术概述
人工智能·embedding
IT大师兄吖38 分钟前
MOSS-TTS-Nano ONNX:轻量级离线语音合成 懒人整合包
人工智能
木木学AI39 分钟前
AI电话系统技术选型:语音识别精度、高并发调度与CRM集成评估
人工智能·语音识别
hai31524754339 分钟前
九章编译法----空间几何统一编译法
网络·汇编·人工智能·线性代数
互联网江湖1 小时前
解禁时刻开启,但MiniMax还没到“验牌”时刻
人工智能
狂热开发者1 小时前
用 Typeoff 把会后口述整理成 Markdown 决策记录
人工智能·windows·macos·ios·安卓