pytorch - 你为什么要打乱测试dataset?

我完全理解使用与测试集分开的训练集。

我也理解你为什么要在训练集中打乱批次来计算小批量的梯度。

但是,https://pytorch.org/tutorials/beginner/basics/data_tutorial.html中提到的广告,我不明白你为什么要使用测试集的改组,例如:

test_dataloader = DataLoader(test_data, batch_size=64, shuffle=True)

在什么情况下会有用?

回答1

在大多数情况下不需要,因为您不更新权重。

很难举出一个例子,但与批次相关的统计数据可能就是其中之一——例如跨批次的平均准确度。

尽管如此,我从来没有见过这样的事情,有人可能会争辩(我同意)洗牌测试 dataset 引入了不必要的随机性(如果有的话),并使不同时期之间的比较不那么可靠(在上面的例子中)。

相似文章

最新文章