PyTorch实现图像分类-cifar-10数据集案例实战

本博客通过PyTorch实现了CIFAR-10数据集的图像分类任务,详细介绍了从数据预处理、卷积神经网络(CNN)构建、损失函数与优化器选择到模型训练和测试的全过程。经过训练,网络在测试数据上的表现良好。
摘要由CSDN通过智能技术生成

在本此案例中,我们将使用CIFAR10数据集。 它包括十种物体类别:‘飞机’,‘汽车’,‘鸟’,‘猫’,‘鹿’,‘狗’,‘青蛙’,‘马’,‘船’,‘卡车’。 CIFAR-10中的图像尺寸为3×32×32,即尺寸为32×32像素的3通道彩色图像。如下图所示:
在这里插入图片描述

训练图像分类器

具体步骤如下:

  • 使用torchvision导入和标准化CIFAR10训练和测试数据集
  • 定义卷积神经网络
  • 定义损失函数
  • 在训练数据上训练网络
  • 在测试数据上测试网络

1.导入CIFAR10数据集和归一化

import torch
import torchvision
import torchvision.transforms as transforms

torchvision数据集的输出是范围[0,1]的PILImage图像。 我们将它们转换为归一化范围的张量[-1,1]。

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', 'frog', 'horse', 'ship', 'truck')
Downloading https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz to ./data\cifar-10-python.tar.gz


100%|██████████████████████████████████████████████████████████████▉| 
  • 14
    点赞
  • 92
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值