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 个中)具有最高的输入概率。
我目前正在 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 个中)具有最高的输入概率。