在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实现感知器模型、两层神经网络
Dec 19 Python
cmd运行python文件时对结果进行保存的方法
May 16 Python
Python 给某个文件名添加时间戳的方法
Oct 16 Python
Django实现一对多表模型的跨表查询方法
Dec 18 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
Jan 05 Python
在python中实现强制关闭线程的示例
Jan 22 Python
python日志logging模块使用方法分析
May 23 Python
Python Django 前后端分离 API的方法
Aug 28 Python
python多线程分块读取文件
Aug 29 Python
python网络编程之多线程同时接受和发送
Sep 03 Python
python单向循环链表原理与实现方法示例
Dec 03 Python
matplotlib 三维图表绘制方法简介
Sep 20 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
PHP 木马攻击防御技巧
2009/06/13 PHP
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
php ci框架中加载css和js文件失败的原因及解决方法
2014/07/29 PHP
php使用cookie保存用户登录的用户名实例
2015/01/26 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
2015/04/08 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
PHP进阶学习之Geo的地图定位算法详解
2019/06/19 PHP
Laravel 6.2 中添加了可调用容器对象的方法
2019/10/22 PHP
使用简洁的jQuery方法实现隔行换色功能
2014/01/02 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
解决Node.js使用MySQL出现connect ECONNREFUSED 127.0.0.1:3306的问题
2017/03/09 Javascript
图解Javascript——作用域、作用域链、闭包
2017/03/21 Javascript
NodeJs的fs读写删除移动监听
2017/04/28 NodeJs
基于LayUI分页和LayUI laypage分页的使用示例
2017/08/02 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
微信小程序之自定义组件的实现代码(附源码)
2018/08/02 Javascript
js实现跟随鼠标移动的小球
2019/08/26 Javascript
JS使用H5实现图片预览功能
2019/09/30 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
python判断字符串是否纯数字的方法
2014/11/19 Python
利用python发送和接收邮件
2016/09/27 Python
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
Python实现的中国剩余定理算法示例
2017/08/05 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
python使用pygame框架实现推箱子游戏
2018/11/20 Python
python openCV获取人脸部分并存储功能
2019/08/28 Python
Python的几种主动结束程序方式
2019/11/22 Python
Python高并发解决方案实现过程详解
2020/07/31 Python
python计算auc的方法
2020/09/09 Python
Chain Reaction Cycles芬兰:世界上最大的在线自行车商店
2017/12/06 全球购物
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
综合实践活动方案
2014/02/14 职场文书
个人欠条范本
2015/07/03 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书