怎样从mnist中随机获取数据
时间: 2024-03-09 09:49:33 浏览: 76
mnist.pkl.gz
可以使用`torch.utils.data.DataLoader`中的`shuffle`参数来打乱数据集中的样本顺序,从而实现随机获取数据。
以下代码展示了如何从MNIST数据集中随机获取5个样本:
```python
import torch
import torchvision
import torchvision.transforms as transforms
# 定义图像预处理方式,将图像转换为Tensor并进行标准化
transform = transforms.Compose(
[transforms.ToTensor(),
transforms.Normalize((0.5,), (0.5,))])
# 加载测试集,并打乱样本顺序
testset = torchvision.datasets.MNIST(root='./data', train=False,
download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=5,
shuffle=True, num_workers=2)
# 随机获取一个批次的数据
dataiter = iter(testloader)
images, labels = dataiter.next()
# 显示图像及其标签
for i in range(5):
print('标签:', labels[i])
imshow(images[i])
```
在上述代码中,我们使用`testloader`来加载测试集数据,并将`shuffle`参数设置为`True`,从而打乱样本顺序。接着,使用`iter()`函数将`testloader`转化为一个迭代器对象,并使用`next()`函数随机获取一个批次的数据。最后,使用`imshow()`函数将图像显示出来,并输出其对应的标签信息。
阅读全文