1. 查看anchors
yolov5模型在训练自己的数据集之前会进行autoanchor check,autoanchor check会自动对数据集中的ground truth boxes进行key means聚类,产生新的anchors以提高模型检测的mAP,可以通过以下代码查看新的生成的anchors:
import torch
from models.experimental import attempt_load
model = attempt_load('./weights/yolov5s.pt', map_location=torch.device('cpu'))
m = model.module.model[-1] if hasattr(model, 'module') else model.model[-1]
print(m.anchor_grid)
2. 使用默认anchors
如果不想进行anchors的key means聚类,可以在训练时添加--noautoanchor
,使用默认的anchors,默认的anchors如下所示:
# anchors
anchors:
- [10,13, 16,30, 33,23] # P3/8
- [30,61, 62,45, 59,119] # P4/16
- [116,90, 156,198, 373,326] # P5/32