输入照片的处理
因为CIFAR10对输入照片要求的格式为tensor(1,3,32,32)
而我们在网上找到的图片基本都不满足要求,所以我们需要对网络上找到的图片先进行处理
比如我们找到一个猫的照片
img_path = "../imgs/cat.jpeg"
img = Image.open(img_path)
# <PIL.PngImagePlugin.PngImageFile image mode=RGBA size=358x312 at 0x1009DAA90>
# 这里我们可以看到默认的格式不是RGB格式的 ,而我们训练出的数据集只能处理三通道,所以我们需要对通道数由RGBA转化为RGB形式
print(img)
# 将图片转化为RGB格式
img = img.convert('RGB')
# <PIL.Image.Image image mode=RGB size=358x312 at 0x103002BE0>
print(img)
# 定义一个转化规则为transform,将图像转化为32x32像素,并且转化为tensor格式
transform = torchvision.transforms.Compose([torchvision.transforms.Resize((32, 32)),
torchvision.transforms.ToTensor()])
img_tensor