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

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

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

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

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

在什么情况下会有用?

回答1

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

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

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

相似文章

c - 未分配 realloc 中的双**指针

我必须实现一个聚类算法,在加载数据集后,我去检查每个点可以插入到哪个聚类中。如果无法将点插入到任何集群中,我必须将它们从数据集中移出并将它们插入到保留集中。由于我事先不知道保留集的大小,因此我分配了一...

随机推荐

最新文章