Pytorch - 'CenterCrop' 应该用于测试集吗?这算作弊吗?
Pytorch - Should 'CenterCrop' be used to test set? Does this count as cheating?
我正在使用 Pytorch 学习图像分类。我发现一些论文代码对训练集和测试集都使用 'CenterCrop',例如调整到更大的尺寸,然后应用 CenterCrop 获得更小的尺寸。较小的尺寸是本研究方向的通用尺寸。
根据我的经验,我发现应用 CenterCrop 可以在测试中获得显着改进(例如 1% 或 2%),与在测试集上不使用 CenterCrop 相比。
因为在top conference papers中用到,弄糊涂了。那么,是否应该使用 CenterCrop 来测试集这个计数作弊? 另外,除了 'Resize' 和 'Normalization' 之外,我是否应该使用任何数据扩充来测试集?
感谢您的回答。
那不是作弊。只要不使用标签,您就可以应用任何增强。
在图像class化中,有时人们会使用FiveCrop+Reflection技术,即取五种裁剪(Center、TopLeft、TopRight、BottomLeft、BottomRight)及其反射作为增强。然后,他们会预测每种作物的 class 概率并对结果进行平均,通常会以 10 倍 运行 的时间提供一些性能提升。
在分割中,人们也使用类似的test-time增强“multi-scale测试”,即在将输入图像馈送到网络之前将其调整为不同的比例。预测也是平均的。
如果您确实使用了此类增强,请在与其他方法进行比较时报告它们以进行公平比较。
我正在使用 Pytorch 学习图像分类。我发现一些论文代码对训练集和测试集都使用 'CenterCrop',例如调整到更大的尺寸,然后应用 CenterCrop 获得更小的尺寸。较小的尺寸是本研究方向的通用尺寸。
根据我的经验,我发现应用 CenterCrop 可以在测试中获得显着改进(例如 1% 或 2%),与在测试集上不使用 CenterCrop 相比。
因为在top conference papers中用到,弄糊涂了。那么,是否应该使用 CenterCrop 来测试集这个计数作弊? 另外,除了 'Resize' 和 'Normalization' 之外,我是否应该使用任何数据扩充来测试集?
感谢您的回答。
那不是作弊。只要不使用标签,您就可以应用任何增强。
在图像class化中,有时人们会使用FiveCrop+Reflection技术,即取五种裁剪(Center、TopLeft、TopRight、BottomLeft、BottomRight)及其反射作为增强。然后,他们会预测每种作物的 class 概率并对结果进行平均,通常会以 10 倍 运行 的时间提供一些性能提升。
在分割中,人们也使用类似的test-time增强“multi-scale测试”,即在将输入图像馈送到网络之前将其调整为不同的比例。预测也是平均的。
如果您确实使用了此类增强,请在与其他方法进行比较时报告它们以进行公平比较。