【发布时间】:2020-02-19 22:52:51
【问题描述】:
我已经下载了 MNIST 数据集,使用以下命令:
train_dataset = dsets.MNIST(root='./data',
train=True,
transform=transforms.ToTensor(),
download=True)
我现在需要在这个数据集 (MNIST) 上运行一些实验,但要打乱训练集的标签。如何随机洗牌/重新分配它们?我尝试了以下方法:
train_dataset = dsets.MNIST(root='./data',
train=True,
transform=transforms.ToTensor(),
target_transform=lambda y: torch.randint(0, 10, (1,)).item(),
download=True)
但我注意到 lambda 函数之后的内容会在训练过程中使标签随机排列,例如它们在每个时代都在变化。这样,我不会达到 100% 的训练准确率,而这正是我的目标。如何以完全随机的方式打乱这些标签,确保这些标签在训练过程中不会改变?
谢谢!!
【问题讨论】: