分类中常用到top1和top5的指标:
top1是指 预测错误样本数/总样本数,此处的预测错误的样本是指 预测的最大概率对应的类别与真实类别不同;
top5是指 预测错误样本数/总样本数,此处的预测错误的样本是指 预测的排序前五的概率对应的类别中没有真实类别。
一般来讲,top5 error要小于top1 error,排序前五的概率中没有真实标签几率小。
有的博客解释需要top5 error是因为人工标记可能出现偏差,因此要放宽标准。
【torch.topk函数】
目的:求取tensor中某个dim的排序前k个值(val) 以及其索引(index).
torch.topk(input, k, dim=None, largest=True, sorted=True, out=None) -> (Tensor, LongTensor)
#input:tensor数据
#k:排序后的前k个数据
#dim:沿着某个维度
#largest:True是指从大到小,否则,从小到大
#sorted:True返回的结果
import torch
if __name__=="__main__":
pred = torch.rand((4