torch.max(input, dim)使用解释

在深度学习的多分类神经网络统计预测正确的个数

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]))

你可能感兴趣的:(深度学习入门,深度学习)