跟着小土堆学pytorch(p32 完整的模型验证套路)

 新建 test.py

import torch
import torchvision.transforms
from PIL import Image
from torch import nn

image_path = "./imgs/dog.png"
image = Image.open(image_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 Tudui(nn.Module):
    def __init__(self):
        super(Tudui, self).__init__()
        self.model = nn.Sequential(
            nn.Conv2d(3, 32, 5, 1, 2),
            nn.MaxPool2d(2),
            nn.Conv2d(32, 32, 5, 1, 2),
            nn.MaxPool2d(2),
            nn.Conv2d(32, 64, 5, 1, 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("tudui_29.pth")
print(model)
image = torch.reshape(image,(1,3,32,32))
image = image.cuda()
model.eval()
with torch.no_grad():
    output = model(image)
    print(output)

print(output.argmax(1))

任意截图一张狗狗图片并保存在imgs文件下

 

 模型加载前把模型结构复制进来,否则torch.load会报错

model = torch.load("tudui_29.pth")
print(model)

还需要将图片移到cuda上

image = torch.reshape(image,(1,3,32,32))
image = image.cuda()

 

 在train.py中train_data 中含标签信息

 

 如果使用cpu需要以下修改:使用gpu则不需要

 飞机

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值