问题描述
我正试图称交叉熵损失,但它表示索引超出范围
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)
...