定义

Top-1: Accuracy是指排名第一的类别与实际结果相符的准确率,就是你预测的label取最后概率向量里面最大的那一个作为预测结果,如过你的预测结果中概率最大的那个分类正确,则预测正确。否则预测错误。
Top-5: Accuracy是指排名前五的类别包含实际结果的准确率,就是最后概率向量最大的前五名中,只要出现了正确概率即为预测正确。否则预测错误。
TOP-5正确率=(所有测试图片中正确标签包含在前五个分类概率中的个数)除以(总的测试图片数)
TOP-5错误率=(所有测试图片中正确标签不在前五个概率中的个数)除以(总的测试图片数)
注意: 我们平时说的top1就是准确率,Accuracy和F1-Score这些是判断分类模型总体的标准。

代码复现

输入是模型输出(batch_size×num_of_class),目标label(num_of_class向量),元组(分别向求top几)

acc.py

import torch
def accu(output, target, topk=(1,)):"""Computes the accuracy over the k top predictions for the specified values of k"""with torch.no_grad():maxk = max(topk)batch_size = target.size(0)_, pred = output.topk(maxk, 1, True, True)pred = pred.t()correct = pred.eq(target.view(1, -1).expand_as(pred))res = []for k in topk:correct_k = correct[:k].view(-1).float().sum(0, keepdim=True)res.append(correct_k.mul_(100.0 / batch_size))return res# torch.topk(input, k, dim=None, largest=True, sorted=True, out=None) -> (Tensor, LongTensor)
# input:输入张量
# k:指定返回的前几位的值
# dim:排序的维度
# largest:返回最大值
# sorted:返回值是否排序
# out:可选输出张量

train.py

#计算Top1pred1_train, pred2_train = accu(outputs, lables, topk=(1, ))train_top1.update(pred1_train[0], val_images.size(0))#train_top2.update(pred2_train[0], val_images.size(0))t_top1 = train_top1.avg#t_top2 = train_top2.avg
#打印结果
print('[epoch %d] train_loss: %.3f  test_loss: %.3f val_accuracy: %.3f top1: %.4f' %(epoch + 1, running_loss / train_steps, testing_loss / test_steps , val_accurate, t_top1))class AverageMeter(object):def __init__(self):self.reset()def reset(self):self.val = 0self.avg = 0self.sum = 0self.count = 0def update(self, val, n=1):self.val = valself.sum += float(val) * nself.count += nself.avg = self.sum / self.count

学习笔记30-Top1和Top5定义与代码复现相关推荐

  1. 影像组学视频学习笔记(30)-SMOTE解决数据不平衡的问题、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(30)主要介绍: SMOTE解决数据不平衡的问题 SMOTE基本介绍 SMOTE (Synthetic Minority Over-sa ...

  2. amazeui学习笔记--css(HTML元素2)--代码Code

    amazeui学习笔记--css(HTML元素2)--代码Code 一.总结 1.行内代码:code标签<code> 2.代码片段:pre标签<pre> 3.限制代码块高度:添 ...

  3. 影像组学视频学习笔记(7)-特征筛选之LASSO回归(代码)、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(7)主要介绍: 特征筛选之LASSO回归分析(代码实现) import pandas as pd import numpy as np ...

  4. Flash/Flex学习笔记(30):不用startDrag和stopDrag的对象拖动

    对于从Sprite类继承来的对象,要实现拖放当然是Flash/Flex学习笔记(13):对象拖动(startDrag/stopDrag) 里讲的方法最方便,但是对于不是从Sprite类继承得来的对象, ...

  5. Windows 8 Directx 开发学习笔记(九)材质定义及混合光照效果实现

    在真实环境中,同一个物体在不同光源照射下的颜色并不一样,因为物体本身并没有颜色,而是它会反射不同颜色的光.物体对不同颜色光的吸收率.反射率,加上光泽度.透明度等其他物理属性组合在一起,定义了这个物体的 ...

  6. 深度学习中的top1和top5的正确率的区别

    top1和top5正确率的区别 top1:预测labels中,最后的概率向量中取最大的作为预测结果,如果最大的那个预测的分类结果正确就正确,若不正确则不正确.一般情况下默认是top1 top5:预测l ...

  7. JAVASE的学习笔记(四)(抽象类,代码块,接口)

    JAVASE的学习笔记(四) 抽象类与接口 JAVASE的学习笔记(四) 代码块 例题: 静态代码块 加载类的方法 手动加载类 抽象类(**只能被继承使用,自己应该无法创建对象**) 重要: 抽象类由 ...

  8. 影像组学视频学习笔记(42)-影像组学特征提取问题解决过程复现、Li‘s have a solution and plan.

    作者:北欧森林 链接:https://www.jianshu.com/p/c3e6de2f79b3 来源:简书,已获转载授权 本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(42)主要 ...

  9. 视觉学习笔记6——YOLOv5(v6.2)部署与代码理解

    文章目录 前言 一.YOLOv5是什么? 二.环境搭建 1.基本环境 2.特殊环境 三.自定义训练 模型训练 模型测试 四.源码个人理解 1.detect.py文件 2.yolo.py文件 3. tr ...

最新文章

  1. 【量化交易】组合优化三部曲:换手率和alpha模型换手约束下的最优模型时变IC下的多空/多头最优组合换手率
  2. JZOJ 3852. 【NOIP2014八校联考第2场第2试9.28】单词接龙(words)
  3. sigmstar SSD201/SSD202 openwrt--应用支持分享
  4. [vue] 你们项目为什么会选vue而不选择其它的框架呢?
  5. 接口测试工具-Jmeter使用笔记(八:模拟OAuth2.0协议简化模式的请求)
  6. ubuntu卸载nvidia显卡驱动
  7. 2020 版 Python 数据清理终极指南!
  8. 51nod 1065 最小正子段和 (贪心)
  9. mysql unzip下载_zip unzip 命令
  10. 如何调整html中音乐播放器的大小,请教音乐播放器大小如何调整?
  11. Java 动态代理机制讲解(Proxy.newProxyInstance)
  12. java并发包和类总结-JUC总结
  13. java eml_javamail读取并解析eml文件
  14. 软件工程导论E-R图、盒图(N-S图)、PAD图
  15. 多变量微分方程组带事件控制的ODE45函数写法
  16. CH330显示未知USB设备(设备描述符请求失败)
  17. 【项目管理工具】—— Microsoft Office Project 介绍
  18. 忙碌中也要记得休息,这两款好玩的游戏推荐给你
  19. 时滞微分方程求解之三ddesd--变时滞
  20. Revit平面视图控制

热门文章

  1. 从微信官方获取微信公众号二维码(名片)
  2. C语言学习笔记(9)之C语言的组成
  3. app内嵌H5,禁止图片长按保存。
  4. 华为OD笔试 磁盘容量排序
  5. chromefirefox浏览器全历史版本下载
  6. 全攻略!!!告诉学弟学妹怎么入行游戏行业
  7. (关于单链表的真题)已知一个带有表头结点的单链表...请设计一个尽可能高效的算法,查找链表中倒数第k个位置的结点。
  8. 名画276 王翚《画卷五幅》
  9. 影响无线射频通信的几个条件
  10. Encoding - UU