python - 将 Torchvision ImageFolder 与测试集一起使用
问题描述
我正在尝试使用Udacity 课程中提供的示例笔记本来解决 Kaggle 上的 Dogs-vs-Cats 挑战。我已将文件重新排列到两个文件夹dogs/
和目录cats/
中train/
,以便ImageFolder
班级可以选择类别,但我不知道在测试文件夹中做什么?我没有准备好标签。
我只是不使用 ImageFolder API(似乎课程使用了它,所以它应该是可用的,并且显然非常方便),或者当类还不知道时有一些选项可以使用它。我在官方文档中找不到任何类似的东西,但应该可以看到课程解决方案是这样做的。谢谢你的帮助。
解决方案
通常,在训练网络的上下文中,“测试”集实际上是“验证”集:它是模型不训练的标记示例的子集,而只是被评估。该验证集用于调整元参数(例如,时期数、学习率、批量大小等)。
因此,尽管验证(“测试”)集不用于实际的 SGD 训练,但您确实有它的标签,它们用于估计训练模型的泛化误差。
由于您通常确实拥有该集的标签,因此您可以使用ImageFolder
与训练集相同的类来阅读它。
但是,如果您有一个根本没有标签的测试集,您仍然可以使用ImageFolder
该类来处理该集。您只需要创建一个虚拟子文件夹来代表集合的“标签”:ImageFolder
假设图像根据它们的标签存储在子文件夹中。
推荐阅读
- r - 使用 read.table 解析愚蠢的数据帧?
- mongodb - Mongodb 失败(结果:核心转储)
- mysql - RDS MySQL Insights:热门查询“提交”
- matlab - Matlab:对轴进行任何更改后发布回调
- angular - 登录后NGXS状态重定向用户
- vega-lite - Vega Lite 中类似里程碑的规则标记
- css - 为什么只有最初活动的 Bootstrap 选项卡才能正确响应窗口大小调整,即使样式在选项卡之间应用一致?
- c++ - C++ 控制台应用程序始终以改写模式运行
- traveling-salesman - ortools TSP中如何让两个节点互斥?
- python - 如何创建一个可以实例化的父类,但它的所有方法都必须在子类中实现?