python - 从 (1,2) pytorch 张量生成模型的置信度
问题描述
所以在我的分类神经网络中,我的最终张量是
a = tensor([[ 546.3831, -796.4016]], grad_fn=<AddmmBackward>)
我会通过调用得到程序认为它是哪个类别
a.max(1)
但是有没有办法计算网络对这个决定的置信度?我正在使用它来生成热图类型的东西,其中多个图像的置信度将聚集在一起以生成热图图像。
解决方案
您可以为此使用 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
来预测每个类别的概率,并且我的答案是完全有效的,否则不是。
推荐阅读
- sql - SQL - 加入 2 个过滤和分组的时间序列
- python - Django 表单 - 密码验证
- excel - 如何在 VBA 编辑器中插入代码片段?
- c++ - 提前使用 typedef
- functional-programming - 构造列表以不同的类型终止
- sharepoint-online - 我可以使用 Set-AIPFileLabel 将敏感度标签直接应用于 SharePoint 中的文件吗?
- delphi - 用 Delphi DLL (x64) 填充 C# String/PWideChar
- algorithm - 连续地图(例如多边形)的寻路算法
- html - checkValidity() 在有效值上返回 false,除非在 Firefox 中立即使用 setCustomValidity('') 验证
- python-3.x - 读取 csv 文件并在 pyplot mplot3d 中绘图