首页 > 解决方案 > 从 (1,2) pytorch 张量生成模型的置信度

问题描述

所以在我的分类神经网络中,我的最终张量是

a = tensor([[ 546.3831, -796.4016]], grad_fn=<AddmmBackward>)

我会通过调用得到程序认为它是哪个类别

a.max(1)

但是有没有办法计算网络对这个决定的置信度?我正在使用它来生成热图类型的东西,其中多个图像的置信度将聚集在一起以生成热图图像。

标签: pythonmachine-learningpytorch

解决方案


您可以为此使用 softmax 函数:

from torch.functional import F

a = tensor([[ 546.3831, -796.4016]], grad_fn=<AddmmBackward>)
prob = F.softmax(a, dim=-1)

哪个输出tensor([[1., 0.]])

请注意,我假设您的损失函数是交叉熵损失(或类似损失),并且a直接参与损失计算。

如果上述情况属实,那么您的模型被训练为使用这些数字a来预测每个类别的概率,并且我的答案是完全有效的,否则不是。


推荐阅读