【问题标题】:Tensorflow 2 Object Detection API - Can/Should I use K-Fold Cross Validation?Tensorflow 2 对象检测 API - 我可以/应该使用 K 折交叉验证吗?
【发布时间】:2021-03-19 23:34:53
【问题描述】:

我有一个包含大约 1000 个图像的小型数据集,并且正在训练我的模型以检测 8 个类别。我以80:20(训练:验证)的比例划分了我的数据集,并希望应用 k 折交叉验证以充分利用我的数据集。

#1:这种思路是正确的还是我误解了什么?在另一篇关于目标检测中K-fold交叉验证的帖子中,有人提到,由于我们有置信度分数,我们不需要k折交叉验证。但是,我没有看到在“k”折叠次数上训练我的模型与置信度得分之间存在相关性。

#2:这是必须手动完成的事情还是 tensorflow 2.x 有办法添加 k 折交叉验证?

任何澄清将不胜感激!谢谢!

【问题讨论】:

    标签: deep-learning tensorflow2.0 cross-validation object-detection-api


    【解决方案1】:

    关于您的查询12

    • (IMO),做K-Fold是合适的。仅供参考,将数据集拆分为8:2 比率是一种称为 holdout 的方法,AFAIK,它不是 K-Fold。当你想做 K-Fold 时,你可能需要考虑诸如类分布边界框分布等。但是,由于您没有提供任何示例数据或代码,这里有一个类似的discussion 可能会对您有所帮助。

    • 必须手动完成。这是一个重采样过程,用于在有限的数据样本上评估机器学习模型。它不是与任何框架集成的东西。

    【讨论】:

    • 感谢您的洞察力。事实上,8:2 的比例不是 k 倍。我只是指出我目前在做什么。关于手动执行 kfold 验证,我将如何去做(用于 tf2 中的对象检测)?我是否必须在每“n”个步骤/迭代后生成多个 tfrecord 并对其进行训练?例如。如果我有 3 次折叠,我是否必须将我的模型训练 3 次(考虑到最新的检查点)?
    • 检查this工作。
    • 你也可以看看如何生成tfrecord文件,here
    猜你喜欢
    • 1970-01-01
    • 2017-02-06
    • 2016-01-15
    • 1970-01-01
    • 2020-11-30
    • 1970-01-01
    • 2018-03-20
    • 2020-08-29
    • 2020-02-06
    相关资源
    最近更新 更多