我们知道,循环神经网络RNN非常擅长处理序列数据,但它也可以用来处理图像数据,这是因为一张图像可以看作一组由很长的像素点组成的序列。下面将会使用RNN对MNIST数据集建立分类器。
目录
1.准备数据集、定义数据加载器
在进行数据准备工作时,可以直接从torchvision库的datasets模块导入MNIST手写字体的训练数据集和测试数据集,然后使用Data.DataLoader()函数将两个数据集定义为数据加载器,其中每个batch包含64张图像,最后得到训练集数据加载器train_loader与测试集数据加载器test_loader。在导入的数据集中,训练集包含60000张28×28的灰度图像,测试集包含10000张28×28的灰度图像。
#准备训练数据集
train_data=torchvision.datasets.MNIST(
root="../Dataset",
train=True,
transform=transforms.ToTensor(),
download=False
)
#定义一个数据加载器
train_loader=Data.DataLoader(
dataset=train_data,
batch_size=64,
shuffle=True,
num_workers=0
)
#准备测试数据集