pytorch搭建分类器分类CIFAR10

pytorch对CIFAR10进行分类

  • 最近实验室的项目需要用到pytorch,pytorch也是目前最流行的深度学习框架之一,非常简单好用,这次就使用pytorch搭建一个简单的卷积神经网络用于CIFAR10的分类任务。
  • 对于一个有监督的分类任务,大概的训练过程是:
    • 加载数据,包括测试数据和训练数据,数据包括数据本身和标签
    • 定义一个网络,其中包括卷积层,池化层,全连接层,激活层等等
    • 将输入数据送入网络
    • 得到网络的输出,根据预测和真实计算损失
    • 将损失进行反向传播,得到网络各阶段的梯度
    • 使用优化函数根据反向传播的损失梯度对网络各层的权重进行更新
  • 在搭建网络之前首先确认你已经成功安装了pytorch环境–

下载数据集

  • 对于计算机视觉,pytorch中有一个包专门用来加载和处理数据–torchvision,想要加载CIFAR10的数据,非常的简单。
import pytorch
import torchvision
import torchvision.transforms as transforms
# 1. 加载CIFAR10 数据
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)

# 测试集数据
testset = torchvision.datasets.CIFAR10(root='./data', train=False, download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=4, shuffle=False)

# 数据集中分类
classes = ('plane', 'car', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck')
  • 运行上面的代码,等待时间取决于你的网络速度,你将会看到这样的结果:
Files already downloaded and verified
Files already downloaded and verified
Files already downloaded and verified
Files already downloaded and verified
  • 下载好的数据集就保存在当前文件夹的data文件夹下,是一个压缩文件,我们可以对其中的部分图片进行可视化
import matplotlib.pyplot as plt
import numpy as np

# 定义输出图像的函数
def imshow(img):
    # 上面我们将图片进行了标准化,需要转换回[0-1]之间
    img = img / 2 + 0.5
    # 再转换成ndarray
    nping = img.numpy()
    plt.imshow(np.transpose(nping,(1,2,0)))
    plt.show()

# 随机获取一张训练图片
dataiter = iter(trainloader)
images,labels = dataiter.next()

# 显示图片
imshow(torchvision.utils.make_grid(images))
# 打印图片的标签
print(' '
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值