应用软最大值后提取标签



我有一个多类分类神经网络。我在最后应用 softmax 以获得我的课程的概率。但是,现在我想选择最大概率并为其获取相应的标签。我能够提取最大概率,但我对如何基于此获得标签感到困惑。这是我所拥有的:


labels = {'id1':0,'id2':2,'id3':1,'id4':3} ### labels
x_t = F.softmax(z,dim=-1)
#print(x_t)
y = torch.argmax(x_t, dim=1)
print(y.detach())

有人可以告诉我现在如何获得标签。例如


y = tensor([3, 1, 3])
final_label = [id4,id3,id4]

您可以尝试存储索引的地图以进行标记,如下所示:

labels = {'id1':0,'id2':2,'id3':1,'id4':3} ### labels
idx_to_label = {v:k for k,v in labels.items()}
x_t = F.softmax(z,dim=-1)
#print(x_t)
y = torch.argmax(x_t, dim=1)
print(y.detach())
final_label = [idx_to_label[i] for i in y.detach().cpu().numpy()]
print(final_label)

让我知道它是否有帮助。

最新更新