Pytorch 如何有效地计算Pytork中的混淆矩阵?

Pytorch 如何有效地计算Pytork中的混淆矩阵?,pytorch,Pytorch,我有一个包含我的预测的张量和一个包含我的二元分类问题的实际标签的张量。如何有效地计算混淆矩阵?在我的第一个版本使用for循环被证明是无效的之后,这是迄今为止我提出的最快的解决方案,适用于两个等维张量预测和真值: def混淆(预测、真相): 混淆向量=预测/真相 true\u positives=torch.sum(混淆向量==1).item() 假阳性=torch.sum(混淆向量=float('inf')).item() true\u negatives=torch.sum(torch.isn

我有一个包含我的预测的张量和一个包含我的二元分类问题的实际标签的张量。如何有效地计算混淆矩阵?

在我的第一个版本使用for循环被证明是无效的之后,这是迄今为止我提出的最快的解决方案,适用于两个等维张量
预测
真值

def混淆(预测、真相):
混淆向量=预测/真相
true\u positives=torch.sum(混淆向量==1).item()
假阳性=torch.sum(混淆向量=float('inf')).item()
true\u negatives=torch.sum(torch.isnan(混淆向量)).item()
false_negatives=torch.sum(混淆向量==0).item()
返回真阳性、假阳性、真阴性、假阴性
注释版本和测试用例位于