reid常用评价指标roc rank1 map,误识率far, 以及optim lr_scheduler 学习率衰减函数

1 roc, 人脸识别或者reid问题 误识率far

*roc 横坐标是 误识率 far(fpr) 纵坐标是tpr *
ROC曲线-阈值评价标准 https://blog.csdn.net/abcjennifer/article/details/7359370
用来确定不同数据集下的阈值,实际情况下的不同数据集 由于是在没有label下的查找, 需要限定阈值来判断是否是一个人,大于阈值可能是一个人,小于阈值的一定不是一个人(虽然小于阈值的也有很小部分判断错误
例如固定横坐标 far =0.001 far=0.01 0.1 tpr 正确率阈值卡高了,可能会把相似度低的图片过滤掉

far tar测试 代码实现可以如下做
假设,正样本对1万个(图片1,图片2,1),负样本对10万个(图片1,图片2,0),生成图片对txt 文件,1代表两张图片是一个人,用欧式距离
当FAR=0.1时,查看10万负样本中,排序的10%中,距离最低的那个阈值(排序后的第10万*10%),当成tar阈值,大于阈值不是一个人,小于阈值是一个人
当FAR=0.001时,同上计算

或者直接计算所有的 tp fp tn 这些指标计算也可以

在这里插入图片描述
在这里插入图片描述

2、rank1 map

两者测试区别解释,参考连接 https://blog.csdn.net/Gavinmiaoc/article/details/80840193
map 更高底库所有的该id图片排序都在前面,对于该数据集来说特征提取性能更好,相关说明见如下连接

多粒度网络(MGN)的结构设计与技术实现 https://blog.csdn.net/Gavinmiaoc/article/details/80840193

在这里插入图片描述

3 torch 学习率参数设置问题

pytorch 7个学习率衰减函数接口 https://blog.csdn.net/junqing_wu/article/details/93248190
在这里插入图片描述
PyTorch学习率调整策略通过torch.optim.lr_scheduler接口实现。PyTorch提供的学习率调整策略分为三大类,分别是
a. 有序调整:等间隔调整(Step),按需调整学习率(MultiStep),指数衰减调整(Exponential)和 余弦退火CosineAnnealing。
b. 自适应调整:自适应调整学习率 ReduceLROnPlateau。
c. 自定义调整:自定义调整学习率 LambdaLR

在这里插入图片描述

# 准备环境
import torch
import torch.optim as optim
from torch.optim import lr_scheduler
from torchvision.models import AlexNet
import matplotlib.pyplot as plt

model = AlexNet(num_classes=2)
optimizer = optim.SGD(params=model.parameters(), lr=0.05)


不知道学习率衰减的变化,就画图看看


scheduler = lr_scheduler.CyclicLR(optimizer,base_lr=0.05,max_lr=0.1,step_size_up=10,step_size_down=10)

plt.figure()
x = list(range(100))
y = []
for epoch in range(100):
    scheduler.step()
    lr = scheduler.get_lr()
    y.append(scheduler.get_lr()[0])

plt.plot(x, y)


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值