首页 > 解决方案 > 将 Torchvision ImageFolder 与测试集一起使用

问题描述

我正在尝试使用Udacity 课程中提供的示例笔记本来解决 Kaggle 上的 Dogs-vs-Cats 挑战。我已将文件重新排列到两个文件夹dogs/和目录cats/train/,以便ImageFolder班级可以选择类别,但我不知道在测试文件夹中做什么?我没有准备好标签。

我只是不使用 ImageFolder API(似乎课程使用了它,所以它应该是可用的,并且显然非常方便),或者当类还不知道时有一些选项可以使用它。我在官方文档中找不到任何类似的东西,但应该可以看到课程解决方案是这样做的。谢谢你的帮助。

Udacity 深度学习与 Pytorch 迁移学习解决方案

标签: pythondeep-learningpytorchkaggle

解决方案


通常,在训练网络的上下文中,“测试”集实际上是“验证”集:它是模型不训练的标记示例的子集而只是被评估。该验证集用于调整元参数(例如,时期数、学习率、批量大小等)。
因此,尽管验证(“测试”)集不用于实际的 SGD 训练,但您确实有它的标签,它们用于估计训练模型的泛化误差。
由于您通常确实拥有该集的标签,因此您可以使用ImageFolder与训练集相同的类来阅读它。

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


推荐阅读