PyTorch 模型的预测输出标签是什么?

What is the predicted output label from a PyTorch model?

我目前正在 PyTorch 中使用自定义优化器训练 ResNet18 模型。

我正在使用 CrossEntropyLoss() 和来自 PyTorch 的 ResNet18 模型。 在 tensorflow 中,输出具有所需的形状,但在 pytorch 中,必须找到预测标签的 argmax 才能找到准确度。

如果我的batch size = 64用的是resnet模型,为什么预测出来的label是[64, 1000]的形状?

1000个值对应什么?

预测数量不是“标签”,它是输入为 1000 classes 之一的概率(软分数)。

(64, 1000) 的输出包含批处理中每个输入的 1000 长度向量。如果你想要离散标签(即 0 到 999),对其执行 argmax

labels = torch.argmax(output, 1)

通过对每个概率向量的 argmax,我们计算出哪个 class(在 1000 个中)具有最高的输入概率。