本实验来自Pytorch官方教程中文版
CIFAR10分类任务
1、下载数据集
2、前向传播
3、反向传播
4、训练模型
5、评估模型
6、输出预测概率
导包+下载数据集+使用GPU
# 导包
import torch
import torchvision
import torchvision.transforms as transforms
# device = torch.device("cuda:0") # 指定GPU编号
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print(device) # cuda:0

# 指定转换类型
transform = transforms.Compose(
[transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
# 在torchvision中下载CIFAR10的数据集(训练集和测试集)
trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)
testset = torchvision.datasets.CIFAR10(root='./data', train=False, download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True, num_workers=2)
testloader = torch.utils.data.DataLoader(testset, batch_size=4, shuffle=False, num_workers=2)
# 10种图片的类别 classes是tuple
classes = ('plane', 'car', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck')
未下载数据集时的结果:

已下载数据集的结果:

查看GPU的情况
# 查看GPU情况
print(torch.cuda.is_available()) # 判断 GPU 是否可用
print(torch.cuda.device_count()) # 判断有多少 GPU
print(torch.cuda.get_device_name(0

本实战基于PyTorch官方教程,详细介绍CIFAR10数据集的下载及预处理过程,并通过构建卷积神经网络进行图像分类任务。包括了模型训练、评估以及预测概率的输出。
最低0.47元/天 解锁文章
1327





