Ошибка индекса: цель 60972032 выходит за пределы

#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)
...