Функция torch.nn.functional.softmax
принимает два параметра: input
и dim
. Согласно своей документации операция softmax применяется ко всем срезам input
вдоль заданного значения dim
и будет масштабировать их так, чтобы элементы находились в диапазоне (0, 1)
и суммировались с 1.
Пусть вход будет:
input = torch.randn((3, 4, 5, 6))
Предположим, я хочу следующее, так что каждая запись в этом массиве равна 1:
sum = torch.sum(input, dim = 3) # sum size is (3, 4, 5, 1)
Как следует применять softmax?
softmax(input, dim = 0) # Way Number 0
softmax(input, dim = 1) # Way Number 1
softmax(input, dim = 2) # Way Number 2
softmax(input, dim = 3) # Way Number 3
Моя интуиция говорит мне, что это последняя, но я не уверен. Английский не является моим родным языком, и использование слова along
, казалось запутанным мне из - за этого.
Я не совсем понимаю, что означает "вдоль", поэтому я буду использовать пример, который мог бы прояснить ситуацию. Предположим, что у нас есть тензор размера (s1, s2, s3, s4), и я хочу, чтобы это произошло