#python #machine-learning #pytorch #loss-function
#python #машинное обучение #pytorch #потеря-функция
Вопрос:
Я пытаюсь вызвать перекрестную потерю энтропии, но он говорит, что индекс находится вне диапазона
loss = nn.CrossEntropyLoss()
target = torch.empty(128, dtype=torch.long)
result = loss(output, target)
Обратите внимание, что вывод имеет форму torch.Size([128, 10])
Ответ №1:
target
Тензор из предоставленного примера не инициализирован, см. torch.empty
Она пуста, чтобы исправить это, используйте, например, .random_
метод, как в примере CrossEntropyLoss docs:
...
target = torch.empty(128, dtype=torch.long).random_(10)
...