我想将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文件中的最大批次是有帮助的。