评价此页

Softmax#

class torch.nn.Softmax(dim=None)[source]#

将 Softmax 函数应用于 n 维输入张量。

将其重新缩放,使得 n 维输出 Tensor 的元素位于 [0,1] 范围内,并且总和为 1。

Softmax 定义为

Softmax(xi)=exp(xi)jexp(xj)\text{Softmax}(x_{i}) = \frac{\exp(x_i)}{\sum_j \exp(x_j)}

当输入 Tensor 是稀疏张量时,未指定的值将被视为 -inf

形状
  • 输入: ()(*),其中 * 表示任意数量的附加维度

  • 输出: ()(*),与输入形状相同

返回

一个与输入具有相同维度和形状的张量,其值在 [0, 1] 范围内

参数

dim (int) – Softmax 将在其上计算的维度(因此 dim 上的每个切片将总和为 1)。

返回类型

注意

此模块不能直接与 NLLLoss 一起使用,NLLLoss 期望在 Softmax 和它自身之间计算 Log。请改用 LogSoftmax(它更快,并且具有更好的数值特性)。

示例

>>> m = nn.Softmax(dim=1)
>>> input = torch.randn(2, 3)
>>> output = m(input)
extra_repr()[source]#

返回模块的额外表示。

返回类型

str

forward(input)[source]#

执行前向传播。

返回类型

张量