分类器任务和数据介绍
·构建一个将不同图像进行分类的神经网络分类器,对输入的的图片进行判别并完成分类。
·本案例采用CIFAR10数据集作为原始图片数据
·CIFAR10数据集介绍:数据集中每张图片的尺寸是3*32*32,代表彩色3通道
·CIFAR10数据集共有10种不同的分类,分别是"airplane","automobile","bird","cat","deer","dog","frog","horse","ship","truck".
·CIFAR10数据集的样例如下图所示
训练分类器的步骤
·1:使用torchvision下载CIFAR10数据集
·2:定义卷积神经网络
·3:定义损失函数
·4:在训练集上训练模型
·5:在测试集上测试模型
·1:使用torchvision下载CIFAR10数据集
·导入torchvision包来辅助下载数据集
import torch
import torchvision
import torchvision.transforms as transforms
·下载数据集并对图片进行调整,因为torchvision数据集输出的是PILImage格式,数据域在[0,1].我们将其转换为标准数据域[-1,1]的张量格式
import torch
import torchvision
import torchvision.transforms as transforms
transform = transforms.Compose(
[transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
trainset = torchvision.datasets.CIFAR10(root='./data', train=True,
download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,
shuffle=True, num_workers=2)
testset = torchvision.datasets.CIFAR10(root='./data', train=False,
download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=4,
shuffle=False, num_workers=2)
classes = ('plane', 'car', 'bird', 'cat',
'deer', 'dog', &#