如何使用Torchvision的导入数据集访问MNIST数据的各个数据点并从火车组对象检查其大小,形状等

时间:2020-07-09 16:15:05

标签: python pytorch mnist

下面的代码是

    from torchvision import datasets, transforms
    trainset = datasets.MNIST('./data/', download=True, train=True, transform=transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize((0.1307,), (0.3081,))]))

我想可视化上面trainset变量中的第一个数据点。 我想通过做类似print(trainset[0])的事情来查看第一个数据点的像素值,或者通过做print(trainset[0].size)来检查大小,或者通过进行print(trainset[0].shape)来检查形状等等。

2 个答案:

答案 0 :(得分:0)

对于形状:

trainset.data.shape
torch.Size([60000, 28, 28])

第一个示例:

trainset.data[0]
tensor([[[0, 0, 0,  ..., 0, 0, 0],
         [0, 0, 0,  ..., 0, 0, 0],
         [0, 0, 0,  ..., 0, 0, 0],
         ...,
         [0, 0, 0,  ..., 0, 0, 0],
         [0, 0, 0,  ..., 0, 0, 0],
         [0, 0, 0,  ..., 0, 0, 0]]], dtype=torch.uint8)

答案 1 :(得分:0)

要可视化数据,可以对其进行绘制。

import matplotlib.pyplot as plt
plt.imshow(trainset.data[0], cmap='gray')

plot of 1st image in the dataset

要查看第一张图像的像素值:

print(trainset.data[0])

要找到第一个图像的形状:

trainset.data[0].shape
>>>torch.Size([28, 28])

您可以将其替换为0,而不是0,其中i =数据集的大小