人们是不是训练过早停止的对象检测方法?他们的设置是啥?

Posted

技术标签:

【中文标题】人们是不是训练过早停止的对象检测方法?他们的设置是啥?【英文标题】:Does people train object detection methods with early stopping and what were their settings?人们是否训练过早停止的对象检测方法?他们的设置是什么? 【发布时间】:2020-05-03 11:37:11 【问题描述】:

我正在研究与对象检测方法(YOLOv3、Faster-RCNN、RetinaNet 等)相关的一些东西,我需要在 VOC2007 和 VOC2012 上进行训练(当然使用预训练模型)。然而,当我阅读相关论文时,我没有看到人们描述他们是使用提前停止还是仅使用固定次数的迭代进行训练。如果他们使用提前停止,在停止之前设置了多少步?因为当我在停止前尝试了 100 步时,结果非常糟糕。请帮帮我,非常感谢。

【问题讨论】:

您能否提供您的代码为***.com/help/minimal-reproducible-example 并参考您提到的论文?对于可能出错的地方,选择太多了。从迭代计数中查看损失如何变化很有用。尝试更多步骤并输出每个集合的损失 - 训练/测试/验证。 【参考方案1】:

我找到了implementation of the PASCAL VOC2012 dataset trained for semantic segmentation that uses the following early stopping parameters:

earlyStopping = EarlyStopping(
    monitor='val_loss', patience=30, verbose=2, mode='auto')

【讨论】:

太好了。老实说,我尝试以耐心=100 提前停止,但效果不佳。但是当我尝试运行 50000 次迭代时,结果还可以。

以上是关于人们是不是训练过早停止的对象检测方法?他们的设置是啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Tensorflow 对象检测 api 中评估预训练模型

使用opencv SVM训练火灾检测[关闭]

keras中的预训练对象检测模型

在自己的数据集上训练 TensorFlow 对象检测

训练对象检测模型时是不是需要将图像和注释复制到云存储桶中?

周筠老师的过早退出是一切失败的根源对我的启示