yolov5手动锚定框计算程序

在yolov5目录下新建程序

import utils.autoanchor as autoAC

# 对数据集重新计算 anchors
new_anchors = autoAC.kmean_anchors('./data/test.yaml', 9, 640, 5.0, 1000, True)
print(new_anchors)

yolov5手动锚定框计算程序_第1张图片
kmean_anchors() 函数中的参数含义:

path:包含数据集文件路径等相关信息的 yaml 文件(比如 coco128.yaml), 或者 数据集张量(yolov5 自动计算锚定框时就是用的这种方式,先把数据集标签信息读取再处理)
n:锚定框的数量,即有几组;默认值是 9
img_size:图像尺寸。计算数据集样本标签框的宽高比时,是需要缩放到 img_size 大小后再计算的;默认值是 640
thr:数据集中标注框宽高比最大阈值,默认是使用 超参文件 hyp.scratch.yaml 中的 “anchor_t” 参数值;默认值是 4.0;自动计算时,会自动根据你所使用的数据集,来计算合适的阈值。
gen:kmean 聚类算法迭代次数,默认值是 1000
verbose:是否打印输出所有计算结果,默认值是 true

如果在train时,不想程序自动计算锚定框,可以在train.py这样设置:

parser.add_argument('--noautoanchor', action='store_true', help='disable autoanchor check')

你可能感兴趣的:(yolov5实战,python,人工智能,聚类)