PyTorch实战手写数字识别
目录
1. 导包
import torch
from torchvision import datasets, transforms, utils
from torch.autograd import Variable
from torch.utils.data import DataLoader
import matplotlib.pyplot as plt
2.数据下载
数据下载过于缓慢,可在网上搜索MNIST数据包(共有四个文件),将其存放到相应的文件目录下(即文件结构图中的raw文件夹),再运行程序,进行数据处理。
- 数据
手写数字数据集,共有60000张训练图片和10000张测试图片。
官方网站:http://yann.lecun.com/exdb/mnist/
百度云网盘
链接:https://pan.baidu.com/s/1fp3E279lOOwcx_Zq62-iaQ
提取码:p3tb - MNIST数据包中包含的文件:
- 最终得到的文件结构:
- 代码
data_train = datasets.MNIST(root="./data/",
transform=transform,
train=True,
download=True)
data_test = datasets.MNIST(root="./data/",
transform=transform,
train=False)
3. 数据变换
程序下载代码中的transform=transform这一句,等式右端的transform是在《深度学习之PyTorch实战计算机视觉》6.4.2部分定义的,所以在编程时,要将transform的定义放在数据下载代码的前面。
- 代码
transform = transforms.Compose([transforms.ToTensor(),
transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])])
4. 数据装载
- 代码
data_loader_train = torch.utils.data.DataLoader(dataset=data_train,
batch_size=64,
shuffle=True)
data_loader_test = torch.utils.data.DataLoader(dataset=data_test,
batch_size=64,
shuffle=True)
4. 数据预览
- 代码
images, labels = next(iter(dat