利用pytorch实现常用数据集的下载与显示
常用数据集介绍
MNIST
共有7万张图片。其中6万张用于训练神经网络,1万张用于测试神经网络。每张图片是一个28*28像素点的0~9的手写数字图片。
黑底白字。黑底用0表示,白字用0~1之间的浮点数表示,越接近1,颜色越白。我们把784个像素点组成一个长度为784的一维数组,这个一维数据就是我们要输入神经网络的输入特征。MNIST数据集还提供了每张图片对应的标签,以一个长度为10的一维数组给出。
CIFAR-10
该数据集共有60000张彩色图像,这些图像是32*32,分为10个类,每类6000张图。这里面有50000张用于训练,构成了5个训练批,每一批10000张图;另外10000用于测试,单独构成一批。测试批的数据里,取自10类中的每一类,每一类随机取1000张。抽剩下的就随机排列组成了训练批。注意一个训练批中的各类图像并不一定数量相同,总的来看训练批,每一类都有5000张图。
下面这幅图就是列举了10各类,每一类展示了随机的10张图片:
CIFAR-100
这个数据集就像 CIFAR-10,只不过它有100个类,每个类包含600张图像。 每个班级有500个训练图像和100个测试图像。 Cifar-100中的100个类被分成20个超类。 每个图像都带有一个“罚”标签(它所属的类)和一个“粗”标签(它所属的超类)。
与CIFAR-10类似,CIFAR-100包含了100个类别的物体,其中每个类别有600张图片。每个类取500张作为训练图像,100张作为测试图像。
在CIFAR-100 中,100各类别可以分类父类(Superclass)和子类(Classes)。一共有20个父类,其下又分子类。具体如下:
数据集下载与显示代码
#input pipeline
import torchvision
#down and construct MNIST dataset ,you can also choose to download other datasets through change MNIST
train_dataset=torchvision.datasets.MNIST(root='G:\pytorch666',train=True,transform=transforms.ToTensor(),download=True)
#Fetch one data pair (read data from disk)
image,label=train_dataset[0]
print(image.size())
print(label)