11-pytorch-使用自己的数据集测试

b站小土堆pytorch教程学习笔记

python 复制代码
import torch
import torchvision
from PIL import Image
from torch import nn

img_path= '../imgs/dog.png'
image=Image.open(img_path)
print(image)
# image=image.convert('RGB')

transform=torchvision.transforms.Compose([torchvision.transforms.Resize((32,32)),
                                          torchvision.transforms.ToTensor()])
image=transform(image)
print(image.shape)

#加载模型
class Han(nn.Module):
    def __init__(self):
        super(Han, self).__init__()
        self.model = nn.Sequential(
            nn.Conv2d(3, 32, kernel_size=5, stride=1, padding=2),
            nn.MaxPool2d(2),
            nn.Conv2d(32, 32, kernel_size=5, stride=1, padding=2),
            nn.MaxPool2d(2),
            nn.Conv2d(32, 64, kernel_size=5, stride=1, padding=2),
            nn.MaxPool2d(2),
            nn.Flatten(),
            nn.Linear(64 * 4 * 4, 64),
            nn.Linear(64, 10)
        )

    def forward(self, x):
        x = self.model(x)
        return x

model=torch.load('../han_9.pth',map_location=torch.device('cpu'))#将GPU上运行的模型转移到CPU
print(model)

#对图片进行reshap
image=torch.reshape(image,(-1,3,32,32))

#将模型转化为测试类型
model.eval()
with torch.no_grad():#节约内存
    output=model(image)
print(output)


print(output.argmax(1))

<PIL.PngImagePlugin.PngImageFile image mode=RGB size=306x283 at 0x250B0006EE0>
torch.Size([3, 32, 32])
Han(
(model): Sequential(
(0): Conv2d(3, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))
(1): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
(2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))
(3): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
(4): Conv2d(32, 64, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))
(5): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
(6): Flatten(start_dim=1, end_dim=-1)
(7): Linear(in_features=1024, out_features=64, bias=True)
(8): Linear(in_features=64, out_features=10, bias=True)
)
)
tensor([[-2.0302, -0.6256, 0.7483, 1.5765, 0.2651, 2.2243, -0.7037, -0.5262,
-1.4401, -0.6563]])
tensor([5])
Process finished with exit code 0

预测正确!

相关推荐
补三补四几秒前
模型编辑入门:给AI“打补丁”的核心技术解析
人工智能·深度学习
diving deep几秒前
从零构建大模型--理解大语言模型
人工智能·语言模型·自然语言处理
我就是全世界3 分钟前
开源脚本破解Claude Code金色传说宠物:1%概率闪光龙,三步暴力刷出
人工智能·宠物·claudecode
jinanwuhuaguo6 分钟前
OpenClaw、Agent、Skill、MCP 深度解读与区分分析
网络·人工智能·网络协议·rpc·openclaw
高山流水&上善11 分钟前
基于BERT情感分析与多维度可视化的B站热门视频评论分析系统
人工智能·bert·音视频
jinanwuhuaguo15 分钟前
OpenClaw 2026.4.5 深度解读
android·开发语言·人工智能·kotlin·openclaw
波动几何17 分钟前
AI Agent Skills 体系认知:执行层完整性与 Skill 存在价值
人工智能
chenglin01619 分钟前
智能客服系统
人工智能
小超同学你好19 分钟前
LangGraph 23. 生产环境下智能体如何节约成本:多智能体拆分、提示缓存与查询路由
人工智能·语言模型
轻口味19 分钟前
HarmonyOS 6 AI能力实战1:小艺接入openclaw智能体
人工智能·华为·harmonyos