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

标签 tensorflow object-detection

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

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

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

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

几千步后的 mAP 约为 0.25... tensorflow 是否在其他任何地方保存一些额外的“检查点”而不是训练文件夹?看起来模型正在使用以前训练过的网络的权重,即使配置中的路径正确到新检查点并且所有内容都在不同的文件夹中:(

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

但现在我想在 400 张图像的大集合上进行训练,首先我尝试了 4 类,但出现了低损失的问题,所以我又尝试了一个类(我什至再次将我的数据集标记为只有一个类)。现在,即使在我从乞讨中训练的几张图片上使用以前的配置,它也无法正常工作。

有人可以帮忙吗?? 因为现在甚至以前工作的 5 个图像配置也不能工作,我认为它与错误的数据集或其他东西无关.. :(

最佳答案

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

到目前为止,我只是顺其自然,让你知道它是否按预期工作,也许它应该是那样的(非常怀疑)。

编辑 - 正如有人提到的,我没有发布问题的答案,所以这是我对此事的更新。我用非常低的起始损失训练了很多模型,随着训练的进行,损失平均达到了 0,002 左右。我发现(至少在我的情况下)你训练这种模型的时间越长,它产生的结果就越差。我最好的表现被卡住在大约 2,5k 步,而那些持续 10k+ 的人极易出现误报。我想如果你遇到一个非常低的起始损失,你不应该让它运行很长时间。无法解释这是如何工作的,因为我对机器学习还很陌生,但这是我个人的经验。希望这至少能有所帮助

关于tensorflow - 从训练 Tensorflow Object Detection API 开始的低损失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45564908/

相关文章:

python - 具有伯努利分布的 TensorFlow Probability MCMC

python - 如何获取包含张量中每个元素的列表?

python - 计算两个旋转椭圆的交集/并集?

tensorflow - 如何在 Tensorflow 对象检测 API 中重用分类层

Tensorflow 对象检测 API 在使用 tensorflow 服务时推理时间很慢

OpenCV:从黑白图像中检测简单的电子元件

python - Tensorboard 权重直方图仅最后一层可见变化

python - 如何按给定段收集张量元素?

python - 将列表列表传递到 tensorflow

tensorflow - 我想知道对象检测 api 中边界框的大小