在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 相关文章推荐
python 生成不重复的随机数的代码
May 15 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
Mar 02 Python
Python中函数及默认参数的定义与调用操作实例分析
Jul 25 Python
PyCharm 常用快捷键和设置方法
Dec 20 Python
python调用百度REST API实现语音识别
Aug 30 Python
python实现指定字符串补全空格、前面填充0的方法
Nov 16 Python
使用django和vue进行数据交互的方法步骤
Nov 11 Python
Windows下python3安装tkinter的问题及解决方法
Jan 06 Python
python3通过qq邮箱发送邮件以及附件
May 20 Python
cookies应对python反爬虫知识点详解
Nov 25 Python
Pyhton爬虫知识之正则表达式详解
Apr 01 Python
Python使用socket去实现TCP客户端和TCP服务端
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
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
thinkphp备份数据库的方法分享
2015/01/04 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
firefox中JS读取XML文件
2006/12/21 Javascript
js兼容标准的表格变色效果
2008/06/28 Javascript
javascript 写类方式之七
2009/07/05 Javascript
jquery图片滚动放大代码分享(1)
2015/08/25 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
angular双向绑定模拟探索
2016/12/26 Javascript
Javascript Event(事件)的传播与冒泡
2017/01/23 Javascript
微信小程序网络请求的封装与填坑之路
2017/04/01 Javascript
three.js实现3D影院的原理的代码分析
2017/12/18 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
基于原生js实现九宫格算法代码实例
2020/07/03 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
python数据结构之二叉树的统计与转换实例
2014/04/29 Python
最基础的Python的socket编程入门教程
2015/04/23 Python
学生信息管理系统python版
2018/10/17 Python
django的settings中设置中文支持的实现
2019/04/28 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
Java文件与类动手动脑实例详解
2019/11/10 Python
python数据爬下来保存的位置
2020/02/17 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
通过实例了解python__slots__使用方法
2020/09/14 Python
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
FC-Moto美国:欧洲最大的摩托车服装和头盔商店之一
2019/08/24 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
初中生思想道德自我评价
2015/03/09 职场文书
spring cloud gateway中如何读取请求参数
2021/07/15 Java/Android
Spring Boot优化后启动速度快到飞起技巧示例
2022/07/23 Java/Android