Прежде всего, чтобы сделать это быстрее, нужно его векторизовать, то есть работать с матрицами.
Итак, у вас есть 1000 образцов для расчета потерь. Кроме того, ваша проблема классификации имеет 5 меток. Для вычисления CrossEntropyLoss
нам нужны входные данные и цель. Давайте смоделируем это следующим образом:
loss = nn.CrossEntropyLoss() # the loss function
input = torch.randn(1000, 5) #1000 samples and 5 labels' predictions
target = torch.empty(1000, dtype=torch.long).random_(5) # 1000 samples with labels from 0 to 4
loss_value = loss(input, target) # It'll output the loss
Там мы go! Теперь потери рассчитываются с учетом 1000 образцов. Это самый лучший способ сделать это.