我在尝试调用交叉熵损失函数,但它提示索引超出范围
loss = nn.CrossEntropyLoss()target = torch.empty(128, dtype=torch.long)result = loss(output, target)
注意,输出(output)的形状是 torch.Size([128, 10])
回答:
提供的示例中的target
张量未被初始化,参见 torch.empty
它是空的,要修复这个问题,可以使用例如.random_
方法,如CrossEntropyLoss文档示例所示:
...target = torch.empty(128, dtype=torch.long).random_(10)...