Softmax
- 类torch.nn.Softmax(dim=None)[源代码]
-
对n维输入张量应用Softmax函数。
将其重新缩放,使输出的 n 维张量中的元素范围在 [0,1] 之间,并且这些元素的总和为 1。
softmax定义如下:
$\text{Softmax}(x_{i}) = \frac{\exp(x_i)}{\sum_j \exp(x_j)}$如果输入张量是稀疏张量,则未指定的值将被视为
-inf
。- 形状:
-
-
输入: $(*)$,其中 * 表示任意数量的额外维度。
-
输出: $(*)$,形状与输入相同
-
- 返回值
-
一个与输入具有相同维度和形状的张量,其值范围在 [0, 1] 之间
- 参数
-
dim (int) – 沿此维度计算软最大值(因此沿 dim 的每个切片的总和都为 1)。
- 返回类型
-
无内容
注意
此模块不直接与NLLLoss一起使用,因为NLLLoss期望在Softmax之后计算对数值。建议使用LogSoftmax(它更快且具有更好的数值稳定性)。
示例:
>>> m = nn.Softmax(dim=1) >>> input = torch.randn(2, 3) >>> output = m(input)