在pytorch 中计算精度、回归率、F1 score等指标的实例


Posted in Python onJanuary 18, 2020

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等指标的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Pycharm学习教程(4) Python解释器的相关配置
May 03 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
Python判断是否json是否包含一个key的方法
Dec 31 Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 Python
python如何以表格形式打印输出的方法示例
Jun 21 Python
python 实现按对象传值
Dec 26 Python
Python线程协作threading.Condition实现过程解析
Mar 12 Python
Python3实现飞机大战游戏
Apr 24 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
Jan 08 Python
Python实现我的世界小游戏源代码
Mar 02 Python
关于python类SortedList详解
Sep 04 Python
详细介绍python操作RabbitMq
Apr 12 Python
Python中实现输入超时及如何通过变量获取变量名
Jan 18 #Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
Jan 18 #Python
python:目标检测模型预测准确度计算方式(基于IoU)
Jan 18 #Python
Python实现计算长方形面积(带参数函数demo)
Jan 18 #Python
python实现的Iou与Giou代码
Jan 18 #Python
Python 简单计算要求形状面积的实例
Jan 18 #Python
python实现用类读取文件数据并计算矩形面积
Jan 18 #Python
You might like
使用openssl实现rsa非对称加密算法示例
2014/01/24 PHP
2014过年倒计时示例
2014/01/31 PHP
详解PHP中strlen和mb_strlen函数的区别
2014/03/07 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
PHP入门教程之上传文件实例详解
2016/09/11 PHP
javascript removeChild 使用注意事项
2009/04/11 Javascript
ExtJs 表单提交登陆实现代码
2010/08/19 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
JS获取子窗口中返回的数据实现方法
2016/05/28 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
利用jquery获取select下拉框的值
2016/11/23 Javascript
详解Vue自定义过滤器的实现
2017/01/10 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
canvas实现图像截取功能
2017/02/06 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
微信小程序弹窗禁止页面滚动的实现代码
2020/12/30 Javascript
使用 Python 获取 Linux 系统信息的代码
2014/07/13 Python
python格式化字符串实例总结
2014/09/28 Python
Python中尝试多线程编程的一个简明例子
2015/04/07 Python
Python的SQLAlchemy框架使用入门
2015/04/29 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
使用pip安装python库的多种方式
2019/07/31 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
用python计算文件的MD5值
2020/12/23 Python
澳大利亚床上用品、浴巾和家居用品购物网站:Bambury
2020/04/16 全球购物
数控专业推荐信范文
2013/12/02 职场文书
材料加工工程求职信
2014/02/19 职场文书
代理人委托书
2014/09/16 职场文书
三年级学生期末评语
2014/12/26 职场文书
财务工作个人总结
2015/02/27 职场文书
收入证明范本
2015/06/12 职场文书
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
MYSQL常用函数介绍
2022/05/05 MySQL