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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Attributable_文件属性里没有自定义

    Attributable_文件属性里没有自定义在做项目的时候,用没人写的代码和看Android源码时,经常看attr.xml的使用,每次都不知道是什么意思,今天网上查了些资料,终于明白了,这里做一个笔记,方便以后使用这里与一个关于AttributeSet的应用场景:一个自定义控件的有些属性内容是随着外部条件而动态改变的,forexample:一个自定义的ListView控件,需要在底部添加一个View,而这个View在不同的模块使用

    2025年7月17日
    5
  • 8086汇编翻译机器码_8086汇编编程手册

    8086汇编翻译机器码_8086汇编编程手册汇编指令与机器码的相互转换 贴子发表于:2008-10-2812:48:03 机器语言我们只要重点理解一下几个概念:1.机器语言指令有操作码(OP)和地址码两部分组成|_____________OP_______________|__d__|__w__||_____________OP_______________|__s__|__w__|在多数操作码中,常使用某些位来

    2022年10月7日
    2
  • p6使用教程_p6slite

    p6使用教程_p6slite文章目录简介1、Maven依赖2、 切换driverClass(必须)3、增加配置文件4、自定义配置类简介p6spy是一个开源项目,通常使用它来跟踪数据库操作,查看程序运行过程中执行的sql语句。展示效果如下:SQL耗时【7毫秒】连接信息【jdbc:p6spy:mysql://192.168.1.108:3306/leimingtech_member?allowMultiQueries=t…

    2022年10月6日
    3
  • matlab编程画分段函数,matlab画分段函数 求程序「建议收藏」

    matlab编程画分段函数,matlab画分段函数 求程序「建议收藏」你好,你的问题好像没太描述清楚。分段函数绘图实际很简单,我给你举个例子吧。分段函数如下:对该函数绘图,首先应该利用matlab建一个函数ff(x),如下:functionY=ff(X)ifX<0;Y=sin(X);elseif(X>=0&&X<10);Y=X.^2*cos(X)/100;elseY=sin(X).*X;endendmatlab中二维绘…

    2022年6月14日
    51
  • 100999凑整到万位进一_速算方法 速算口诀[通俗易懂]

    100999凑整到万位进一_速算方法 速算口诀[通俗易懂]“估算法”毫无疑问是资料分析题当中的速算第一法,在所有计算进行之前必须考虑能否先行估算。所谓估算,是在精度要求并不太高的情况下,下面是出国留学网小编为大家整理的“速算方法”。本内容为大家提供参考。希望对您有所帮助。请关注出国留学网!!!速算方法一、▲“九几乘九几,左减右补数,后面空两格,写上补乘补。”9300-5005×7=880035=883500看作两个空格二、▲任意数乘25,等于此数…

    2022年6月15日
    72
  • 密码加密方式

    密码加密方式密码加密方式

    2022年4月22日
    79

发表回复

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

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