将 Torchvision ImageFolder 与测试集一起使用

Using Torchvision ImageFolder with Test Set

我正在尝试使用 Udacity 课程中提供的 Sample Notebook 解决 Kaggle 上的狗对猫挑战。我已将文件重新排列到 train/ 目录中的两个文件夹 dogs/cats/ 中,以便 ImageFolder class 可以选择类别,但我没有不知道在测试文件夹中可以做什么?我没有准备好标签。

是直接不用ImageFolder API(好像课程用了,应该可以用,而且很方便),还是classes 还不知道。我在官方文档中找不到任何与此相关的内容,但应该可以看到课程解决方案就是这样做的。感谢您的帮助。

通常,在训练网络的上下文中,"test" 集实际上是一个 "validation" 集:它是模型 而不是 继续训练,但只接受评估。此验证集用于调整元参数(例如,时期数、学习率、批量大小等)。
因此,尽管验证 ("test") 集并未用于实际的 SGD 训练,但您确实拥有它的标签,它们用于估计训练模型的泛化误差。
由于您通常确实拥有该集的标签,因此您可以使用与训练集相同的 ImageFolder class 来阅读它。

但是,如果您的测试集根本没有标签,您仍然可以使用 ImageFolder class 来处理该集。您只需要创建一个虚拟子文件夹来表示集合的 "label":ImageFolder 假定图像根据其标签存储在子文件夹中。