首页 文章

从训练开始Tensorflow Object Detection API的低损失

提问于
浏览
1

我有对象检测api的问题,从训练开始我的损失非常低:

信息:张量流:全局步骤3:损失= 1.6555(1.949秒/步)

信息:张量流:全局步骤4:损失= 1.1560(2.021秒/步)

信息:张量流:全局步骤5:损失= 1.7363(2.201秒/步)

几千步之后的mAP大约是0.25 ... tensorflow是否在其他地方保存了一些额外的“检查点”而不是训练文件夹?似乎该模型使用来自以前训练过的网络的权重,即使配置中的路径正确到新的检查点,一切都在不同的文件夹中:(

我正在关注如何在对象检测api中训练模型的博客教程[https://medium.com/towards-data-science/how-to-train-your-own-object-detector-with-tensorflows-object-detector-api-bec72ecfe1d9] . 我正在使用我自己的数据集和一个类(只有几个图像来测试它的工作)和自己的配置(更快的rcnn resnet101) . 它做得很好,模型能够检测新图像上的类 . 然后我尝试用4个 class 训练,多一点图像 - 工作得很好 .

但是现在我想训练大量的400张图像,首先我尝试了4个类并且出现了低损失的问题,所以我尝试了一个类(我甚至将我的数据集再次标记为只有一个类)再次相同 . 现在它甚至不能使用我刚从乞讨训练的少量图像上的先前配置 .

有人可以帮忙吗?从现在起,即使之前工作的5个图像配置也不起作用,我不认为它与坏数据集或其他东西相关.. :(

1 回答

  • 1

    虽然这不是答案,但我可以通过说你并不孤单来安慰你 . 我正在使用相同的模型,并在开始时经历低损失 . 我的初始训练完全失败,所以我决定正确地整理我的数据集并使用更高精度的预设(之前我使用的移动网络)重新训练模型,因此我遇到了低初始损失问题 .

    到目前为止,我只是滚动它,让你知道它是否有意图,也许它应该是那样的(非常怀疑) .

    编辑 - 正如有人提到我没有发布问题的答案所以这是我对此事的更新 . 我训练了很多具有极低起跑损失的模型,随着训练的进行,平均损失达到了0.002 . 我发现(至少在我的情况下)你训练这种模型的时间越长,它产生的结果就越差 . 我最好的表演者以2.5k步骤被冻结,而那些持续10k的人非常容易出现误报 . 我想如果你遇到一个非常低的起跑损失,你不应该让它运行很长时间 . 无法解释这是如何工作的,因为我对机器学习很陌生,但这来自我个人的经验 . 希望这有助于至少一点点

相关问题