暗网:损失减少,但训练 1 个班级时 iou 保持在非常低的水平

时间:2021-01-13 19:50:29

标签: computer-vision object-detection yolo object-detection-api darknet

我正在用 1 个班级训练 Darknet Yolo(有 9000 个训练示例!),但我有这个输出样本:

v3 (iou loss, Normalizer: (iou: 0.07, obj: 1.00, cls: 1.00) Region 150 Avg (IOU: 0.000000), count: 1, class_loss = 0.003734, iou_loss = 0.000000, total_loss = 0.003734  

IOU 保持恒定为 0.07,并且类别损失非常低。

 (next mAP calculation at 1000 iterations) 
 250: 0.004589, 0.011130 avg loss, 0.000004 rate, 7.071465 seconds, 16000 images, 2.931760 hours left

导致这个恒定小iou的问题是什么?

详情

yolov4-custom.cfg 文件中最相关的部分:

batch=64
subdivisions=16
width=512
height=512
channels=1
momentum=0.949
decay=0.0005

max_batches = 2000
steps=1600,1800

...

filters=18
activation=linear


[yolo]
mask = 6,7,8
anchors = 12, 16, 19, 36, 40, 28, 36, 75, 76, 55, 72, 146, 142, 110, 192, 243, 459, 401
classes=1

obj.data 文件:

classes = 1
train  = /content/darknet/build/darknet/x64/data/train.txt
names = /content/darknet/build/darknet/x64/data/obj.names
backup = /content/darknet/build/darknet/x64/backup/

obj.name 文件:

Object

1 个答案:

答案 0 :(得分:0)

首先你需要改变cfg文件。如果你有<= 3个类,你需要设置max_batches = 6000,steps: 4800, 5400。然后你需要设置所有3个yolo layer和prev。层的过滤器。并且损失应该变低,这就是训练,你的模型训练得很好。