完整的模型验证套路

完整的模型验证套路_第1张图片

读取图片

from PIL import Image

img_path = "../Yennefer_of_Vengerberg.jpg"
image = Image.open(img_path)
print(image)

在这里插入图片描述

转换成灰度图(可选)

image = image.convert('L')
image.show()

转换成RGB格式

image = image.convert('RGB')


因为png格式是四个通道,除了‘RGB’三个通道外,还有一个透明度通道。
所以,我们调用image = image.convert(‘RGB’),保留其颜色通道。
当然,如果图片本来就是三个颜色通道,经过此操作,不变。
加上这一步后,可以适应png jpg各种格式的图片。

Resize&ToTensor

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

加载之前的模型,并加以验证

model = torch.load('../GPU/tudui_10.pth')  # GPU训练的
print(model)
image = torch.reshape(image, (1, 3, 32, 32))
if torch.cuda.is_available():
    image = image.cuda()
model.eval()
with torch.no_grad():
    output = model(image)
print(output)
print(output.argmax(1))

注意
1.如果之前是GPU上训练的模型,一定要将图片转成‘GPU’:image = image.cuda()
2.image = torch.reshape(image, (1, 3, 32, 32)) 不要忘了
3.with torch.no_grad(),可以加快验证速度

查看是哪类

完整的模型验证套路_第2张图片
完整的模型验证套路_第3张图片
没有人类别(叶奈法,巫师)所以换一张deer
完整的模型验证套路_第4张图片

ls = ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truch']
print('class:{}'.format(ls[output.argmax(1)]))

在这里插入图片描述
还挺准(CIFAR10只训练到到第十轮,model = torch.load(‘…/GPU/tudui_10.pth’))
MAYBACH 迈巴赫试试
完整的模型验证套路_第5张图片
在这里插入图片描述

如果失败:优化函数optim:用Adam,激活函数用relu加到卷积层后面,训练三十轮90%

pytorch系列,暂时完结了:)

你可能感兴趣的:(pytorch,深度学习,人工智能,神经网络,python,机器学习)