在pytorch中计算精度,回归率,F1分数等指标的实例

  

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

  

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

  

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

        # TP预测和标签同时为1   TP +=((pred_choice==1),(目标。.sum数据=https://www.yisu.com/zixun/=1)) .cpu () ()   # TN预测和标签同时为0   TN +=((pred_choice==0) &(目标。.sum数据==0)).cpu () ()   # FN预测0标签1   FN +=((pred_choice==0) &(目标。.sum data==1) .cpu () ()   # FP预测1标签0   FP +=((pred_choice==1) &(目标。.sum数据==0)).cpu () ()      p=TP/(TP + FP)   r=TP/(TP + FN)   F1=2 * r * p/(r + p)   acc=(TP + TN)/(TP + TN + FP + FN   之前      

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

  

因为目标是变量所以需要用目标。数据取到对应的张量,又因为是在gpu上算的,需要用.cpu()移到cpu上。

  

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

  

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

在pytorch中计算精度,回归率,F1分数等指标的实例