Я следовал этому учебнику , и меня смутила часть, где автор определяет потерянную функцию отрицательного логарифмического вероятности.
def nll(input, target):
return -input[range(target.shape[0]), target].mean()
loss_func = nll
Здесь target.shape[0]
равно 64
иtarget
- это вектор длиной 64
tensor([5, 0, 4, 1, 9, 2, 1, 3, 1, 4, 3, 5, 3, 6, 1, 7, 2, 8, 6, 9, 4, 0, 9, 1, 1, 2, 4, 3, 2, 7, 3, 8, 6, 9, 0, 5, 6, 0, 7, 6, 1, 8, 7, 9, 3, 9, 8, 5, 9, 3, 3, 0, 7, 4, 9, 8, 0, 9, 4, 1, 4, 4, 6, 0])
.
Каким образом эта пустая индексация приводит к функции потерь?Кроме того, каким должен быть вывод массива numpy, если в квадратной скобке есть range () и другой массив?