IndexError: Target 60972032 is out of bounds

IndexError: Target 60972032 is out of bounds

我正在尝试调用交叉熵损失,但它说索引超出范围

loss = nn.CrossEntropyLoss()
target = torch.empty(128, dtype=torch.long)
result = loss(output, target)

注意输出的形状是 torch.Size([128, 10])

所提供示例中的 target 张量未初始化,请参阅 torch.empty

它是空的,用于修复该用法,例如 .random_ 方法,如 CrossEntropyLoss 文档中的示例:

...
target = torch.empty(128, dtype=torch.long).random_(10)
...