我想将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
# Training
batch=32
subdivisions=8


现在,培训过程已经进行了许多小时,并且使我的GPU保持温暖。

这是训练暗网的预定方式吗?
如何在不中断训练的情况下正确使用预训练的权重?

是否有任何设置可以创建检查点或了解进度?

最佳答案

这是一个古老的问题,所以希望您现在能得到答案,但是这里是我的答案,以防万一。

在与Darknet合作大约一个月后,我遇到了人们在论坛上提出/发布的大多数障碍。在您的情况下,我可以肯定地说是因为已经对砝码进行了最大批次的培训,并且当在Darknet中读取预训练的砝码时,就假定已经进行了训练。

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

如果您有自定义数据,我将坚持从头开始进行培训,但是如果您想再次尝试预先训练的权重,则可能会发现更改cfg文件中的最大批次是有帮助的。

08-24 20:54