训练darknet立即结束

我想使用yolo架构进行目标检测。在用我的自定义数据训练网络之前,我按照以下步骤在Pascal VOC数据集上进行了训练: https://pjreddie.com/darknet/yolo/

说明非常清晰。但在最后一步之后

./darknet detector train cfg/voc.data cfg/yolo-voc.cfg darknet19_448.conv.23

darknet立即停止训练并宣布权重已写入backups/目录中。

起初我以为预训练效果太好,停止标准立即达到了。所以我使用了./darknet detect命令,在data/dog的测试图像上使用这些权重。什么也没找到。

如果我不使用任何预训练权重,网络确实会进行训练。我编辑了cfg/yolo-voc.cfg以使用

# Testing#batch=1#subdivisions=1# Trainingbatch=32subdivisions=8

现在训练过程已经运行了好几个小时,并且让我的GPU保持温暖。

这是训练darknet的预期方式吗?我如何正确使用预训练权重,而不让训练中断?

有没有设置可以创建检查点,或者了解进度的方法?


回答:

这是一个旧问题,所以我希望你现在已经有了答案,但以防万一,这里是我的回答,希望能帮到你。

在使用darknet大约一个月后,我遇到了大多数人在论坛上提问/发布的大多数障碍。在你的情况下,我相当确定这是因为权重已经训练到了最大批次数,当预训练权重被读取时,darknet认为训练已经完成。

相关个人经验:当我使用其中一个预训练权重文件时,它从第40101次迭代开始运行,直到第40200次迭代才停止。

如果你有自定义数据,我建议从头开始训练,但如果你想再次尝试使用预训练权重,你可能会发现更改cfg文件中的最大批次数会有所帮助。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注