栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

yolov5中anchors的保存/读取

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

yolov5中anchors的保存/读取

yolov5中anchors的保存/读取

训练样本不同时,yolov5可能会重新计算anchors,这些anchors将保存在模型权重文件中,直接使用detect.py输出时会自动加载计算,但在某些任务(如进行板端后处理过程中),还是需要获取到这些anchors值。

如何快速查看

可以运行detect.py,运行到pre=model()前,查看model.model.state_dict()的值,可以找到anchors信息;早期版本yolov5中也存储了anchor_grid,v6版本目前只有anchor,anchor_grid是相对原图的anchor大小,anchor是相对最后的特征图的大小,所以二者的值之间相差了8,16和32倍(下采样倍数)。

从权重文件中快速提取
import torch
import sys
sys.path.append("path/yolov5-master")
weights = 'yolov5s.pt'
model = torch.load(str(weights[0] if isinstance(weights, list) else weights), map_location='cpu')
model1 = model['ema' if model.get('ema') else 'model']
model2 = model1.float().fuse().model.state_dict()

for k,v in model2.items():
    if 'anchor' in k:
        # print(k)
        # print(v)
        print(v.numpy().flatten().tolist())

打印的值即为anchor_grid/anchor的值

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1018407.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号