在深度学习的多分类神经网络统计预测正确的个数
1.函数结构torch.max(input, dim)
input是一个softmax函数输出的tensor
(当然,如果用CrossEntropyLoss(),最后一层是一个全连接层)
dim是max函数索引的维度 0或1 0是每列的最大值,1是每行的最大值
2.函数输出torch.max(input, dim=1)
此函数输出两个tensor
1.第一个tensor是每行的最大概率
2.第二个tensor是每行最大概率的索引
由于我们不需要获取最大概率的值,只要知道最大概率的是哪个类别即可
因此,我们只需要获取第二个tensor
3.第二个tensor的获取方法
_,predicted=torch.max(outputs.data,dim=1)
predicted = torch.max(outputs.data, 1)[1]
4.函数效果展示
import torch
a = torch.tensor([[1,5,62,54], [2,6,2,6], [2,65,2,6]])
print(a)
输出:
tensor([[ 1, 5, 62, 54],
[ 2, 6, 2, 6],
[ 2, 65, 2, 6]])
索引每行的最大值:
torch.max(a, 1)
输出:
torch.return_types.max(
values=tensor([62, 6, 65]),
indices=tensor([2, 3, 1]))