gpt4 book ai didi

python - 期望 FloatTensors 但在类似 MNIST 的任务中得到了 LongTensors

转载 作者:太空宇宙 更新时间:2023-11-04 00:05:54 24 4
gpt4 key购买 nike

我正在执行类似 MNIST 的任务,输入是 10 类图像,预期输出是图像的预测类。

但现在 output 类似于 [-2.3274, -2.2723, ...],其长度为 batch_size。而 target 是 [4., 2., 2., 8., ...]

错误消息:RuntimeError:标量类型 Long 的预期对象,但参数 #2 'target' 的标量类型 float

class Net(nn.Module):
...
...
def forward(self, x):
...
...
return F.log_softmax(x, dim = 1)


criterion = torch.nn.NLLLoss()

谁能给我一些建议?谢谢。

最佳答案

您得到的错误是指损失的第二个 (#2) 参数:target
NLLLoss期望(对于每个元素)有一个float概率向量,每个元素有一个long(即整数)目标。
在您的情况下,您的“目标”值是 [4., 2., 2., 8., ...] 类型float。您需要将目标转换为长:

target = target.to(dtype=torch.long)

关于python - 期望 FloatTensors 但在类似 MNIST 的任务中得到了 LongTensors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54085357/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com