f1 score 代码_在pytorch 中计算精度、回归率、F1 score等指标的实例「建议收藏」

f1 score 代码_在pytorch 中计算精度、回归率、F1 score等指标的实例「建议收藏」pytorch中训练完网络后,需要对学习的结果进行测试。官网上例程用的方法统统都是正确率,使用的是torch.eq()这个函数。但是为了更精细的评价结果,我们还需要计算其他各个指标。在把官网API翻了一遍之后发现并没有用于计算TP,TN,FP,FN的函数。。。在动了无数歪脑筋之后,心想pytorch完全支持numpy,那能不能直接进行判断,试了一下果然可以,上代码:#TPpredict和l…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

pytorch中训练完网络后,需要对学习的结果进行测试。官网上例程用的方法统统都是正确率,使用的是torch.eq()这个函数。

但是为了更精细的评价结果,我们还需要计算其他各个指标。在把官网API翻了一遍之后发现并没有用于计算TP,TN,FP,FN的函数。。。

在动了无数歪脑筋之后,心想pytorch完全支持numpy,那能不能直接进行判断,试了一下果然可以,上代码:

# TP predict 和 label 同时为1

TP += ((pred_choice == 1) & (target.data == 1)).cpu().sum()

# TN predict 和 label 同时为0

TN += ((pred_choice == 0) & (target.data == 0)).cpu().sum()

# FN predict 0 label 1

FN += ((pred_choice == 0) & (target.data == 1)).cpu().sum()

# FP predict 1 label 0

FP += ((pred_choice == 1) & (target.data == 0)).cpu().sum()

p = TP / (TP + FP)

r = TP / (TP + FN)

F1 = 2 * r * p / (r + p)

acc = (TP + TN) / (TP + TN + FP + FN

这样就能看到各个指标了。

因为target是Variable所以需要用target.data取到对应的tensor,又因为是在gpu上算的,需要用 .cpu() 移到cpu上。

因为这是一个batch的统计,所以需要用+=累计出整个epoch的统计。当然,在epoch开始之前需要清零

以上这篇在pytorch 中计算精度、回归率、F1 score等指标的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182193.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月14日 上午8:36
下一篇 2022年10月14日 上午8:46


相关推荐

  • sat错题分数换算表_acwing算法基础

    sat错题分数换算表_acwing算法基础给定 n 个还未赋值的布尔变量 x1∼xn。现在有 m 个条件,每个条件的形式为 “xi 为 0/1 或 xj 为 0/1 至少有一项成立”,例如 “x1 为 1 或 x3 为 0”、“x8 为 0 或 x4 为 0” 等。现在,请你对这 n 个布尔变量进行赋值(0 或 1),使得所有 m 个条件能够成立。输入格式第一行包含两个整数 n,m。接下来 m 行,每行包含四个整数 i,a,j,b,用来描述一个条件,表示 “xi 为 a 或 xj 为 b”。输出格式如果问题有解,则第一行输出 POSS

    2022年8月9日
    9
  • 理解GAN网络基本原理

    理解GAN网络基本原理版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/on2way/article/details/72773771 </div> <linkrel=”stylesheet”href=”https://…

    2025年8月6日
    4
  • role &#39;PLUSTRACE&#39; does not exist

    role &#39;PLUSTRACE&#39; does not exist

    2022年1月10日
    41
  • 分享Nexus桌面插件的安装及使用,超级好看、好用的插件。附下载链接。「建议收藏」

    分享Nexus桌面插件的安装及使用,超级好看、好用的插件。附下载链接。「建议收藏」效果图,如图所示!害怕win11的一系列bug,又想拥有像win11一样的桌面图标插件!Nexus可以满足你的需求!!!软件下载链接:https://pan.baidu.com/s/17lUOdON-0VwQvP98VU-jRQ提取码:10c9注:该链接为网络资源,如有侵权请告知!下载完压缩包之后,可以点击NexusSetup.exe进行安装,一路默认就可以。安装好之后,点击运行Nexus。这时候,你就会发现桌面中上方会有一行奇丑无比的插件!!!!别慌!别慌!别慌!好心人已经写了一些格式

    2025年10月30日
    5
  • Latex:入门教程

    Latex:入门教程http://blog.csdn.net/pipisorry/article/details/54571521总的来说,LaTex是一套排版系统,与word那种所见即所得对排版方式不太,用LaTex排版更像是写程序一样,将想要的排版效果用指令写出来,再通过LaTex编译成文档。简单来说,你只要按照要求撰写tex文件,就能够通过LaTex生成排版好的pdf文件。有些人可能听到写程序就头大了,其实使用…

    2022年7月26日
    8
  • HttpServlet类

    HttpServlet类请求对象和响应对象 HttpServlet 类 HttpServletR 请求对象 HttpServletR 响应对象 HttpServlet 类概述 HttpServlet 是最底层的子类 所以说子类的功能和方法更加的强大和优秀 HttpServlets 专门用来处理 http 请求的 针对性更强 继承关系 Servlet gt GenericServl gt HttpServletH 请求的方式 HTTP 1 1 协议中共定义了八种方法 有时也

    2026年3月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号