【发布时间】:2019-01-29 21:48:15
【问题描述】:
我正在使用 Tensorflow 的对象检测 API 训练神经网络来检测汽车。我使用以下 youtube 视频来学习和执行该过程。
https://www.youtube.com/watch?v=srPndLNMMpk&t=65s
他的系列的第 1 至 6 部分。
现在在他的视频中,他提到当损失值平均达到 ~1 或以下时停止训练,并且大约需要 10000'ish' 步。
在我的例子中,现在是 7500 步,损失值在 0.6 到 1.3 之间不断波动。
很多人在评论部分抱怨这个系列的误报,但我认为这是因为不必要的长时间训练过程(因为他们不知道何时停止?)导致过度拟合!
我想避免这个问题。我希望在避免错误检测或过度拟合的同时拥有最佳权重而不是最佳权重。我也在观察 Tensorboard 的“总损失”部分。它在 0.8 到 1.2 之间波动。我什么时候停止训练过程?
我也想大致了解一下,“停止训练”取决于哪些因素?它总是关于平均损失 1 或更少吗?
附加信息: 我的训练数据有大约 300 张图像 测试数据~20张图片
由于我使用的是迁移学习的概念,所以我选择了 ssd_mobilenet_v1.model。
Tensorflow 1.9 版(在 CPU 上) Python 3.6 版
谢谢!
【问题讨论】:
标签: tensorflow machine-learning neural-network tensorboard training-data