Object detection 我可以继续从决赛开始训练吗?重量和更多的训练和测试图像?

Object detection 我可以继续从决赛开始训练吗?重量和更多的训练和测试图像?,object-detection,yolo,darknet,Object Detection,Yolo,Darknet,我用darknet yolov3训练我的自定义对象检测,直到平均损失降低到0.06,但现在我想用更多训练和测试图像来训练它(可能也会删除一些图像文件)。我可以执行这些步骤并继续使用final.weights文件进行训练吗?或者我应该从头开始训练吗?是的,您可以使用当前训练的模型(.weights文件)作为新训练课程的预训练模型。例如,如果使用,可以通过以下命令训练模型: darknet.exe探测器序列数据/obj.data yolo-obj.cfg darknet53.conv.74 其中da

我用darknet yolov3训练我的自定义对象检测,直到平均损失降低到0.06,但现在我想用更多训练和测试图像来训练它(可能也会删除一些图像文件)。我可以执行这些步骤并继续使用final.weights文件进行训练吗?或者我应该从头开始训练吗?

是的,您可以使用当前训练的模型(.weights文件)作为新训练课程的预训练模型。例如,如果使用,可以通过以下命令训练模型:

darknet.exe探测器序列数据/obj.data yolo-obj.cfg darknet53.conv.74

其中
darknet53.conv.74
是预先训练的模型

在新的培训课程中,您可以添加或删除图像。但是,基本配置应该是正确的(如类的数量等)

根据我提到的页面:

在原始存储库中 权重文件仅每10000次迭代保存一次


打开.cfg,找到
max\u批次
代码可能在22行,设置较大的值:

最大批次=500200

最大批数与转换迭代相同


如果继续,您需要指定更多的纪元。例如,如果您训练到300/300,那么resume也将训练到300(从300开始),除非您指定更多的时间


python train.py--resume

您可以从以前保存的自定义模型权重恢复训练
使用“yolov3_custom_last.weights”代替预先训练的默认权重
如果在恢复过程中发现一些问题,请尝试更改批大小


这将起作用,并使用新的图像集恢复模型训练:)

如果您刚刚修改了数据集,但对更改模型体系结构不感兴趣,则可以使用中的DarkNet直接从先前保存的模型恢复。比如说,

darknet.exe detector train cfg/obj.data cfg/yolov3.cfg yolov3_weights_last.weights -clear -map

clear
标志将重置保存在权重中的迭代次数,这适用于数据集更改的情况。这是因为学习速度通常取决于迭代次数,您可能不想更改配置。

还有一个问题:)我使用了yolov3配置,其中宽度和高度为416,大多数情况下我使用700x700+图像进行训练,效果良好,但当我的对象在网络摄像头上变小时,中等距离后,检测变得不可能。为了更好地检测小物体:我应该用小物体训练大尺寸图像还是用大物体图形训练小尺寸图像。您认为呢?最好在YOLOV3配置文件中增加宽度和高度416(例如,增加到832)。你还可以做其他事情。也许我能帮上忙。