log_softmax

paddle.fluid.layers.log_softmax(input, axis=None, dtype=None, name=None)[源代码]

log_softmax激活层:

log_softmax - 图1

参数

  • input (Variable) - 任意维度的多维 Tensor ,数据类型为float32或float64。
  • axis (int, 可选) - 指示进行LogSoftmax计算的维度索引,其范围应为

    log_softmax - 图2

    ,其中rank是输入变量的秩。默认值:None(与-1效果相同,表示对最后一维做LogSoftmax操作)。

  • dtype (np.dtype|core.VarDesc.VarType|str) - 期望输出``Tensor``的数据类型。如果指定了``dtype``,输入tensor的数据类型将在计算前被转换为``dtype``类型,可以有效防止数据溢出。默认值:None。支持的类型:float32或float64。
  • name (str, 可选) - 具体用法请参见 Name ,一般无需设置,默认值为None。

返回

表示log_softmax操作结果的 Tensor ,数据类型和 dtype 或者 input 一致,返回维度和 input 一致。

返回类型

Variable

代码示例

  1. import paddle.fluid as fluid
  2. import numpy as np
  3. data = np.array([[[-2.0, 3.0, -4.0, 5.0],
  4. [3.0, -4.0, 5.0, -6.0],
  5. [-7.0, -8.0, 8.0, 9.0]],
  6. [[1.0, -2.0, -3.0, 4.0],
  7. [-5.0, 6.0, 7.0, -8.0],
  8. [6.0, 7.0, 8.0, 9.0]]]).astype('float32')
  9. with fluid.dygraph.guard():
  10. data = fluid.dygraph.to_variable(data)
  11. res = fluid.layers.log_softmax(data, -1)
  12. # [[[ -7.1278396 -2.1278396 -9.127839 -0.12783948]
  13. # [ -2.1270514 -9.127051 -0.12705144 -11.127051 ]
  14. # [-16.313261 -17.313261 -1.3132617 -0.31326184]]
  15. # [[ -3.0518122 -6.051812 -7.051812 -0.051812 ]
  16. # [-12.313267 -1.3132664 -0.3132665 -15.313267 ]
  17. # [ -3.4401896 -2.4401896 -1.4401896 -0.44018966]]]