log_softmax
paddle.fluid.layers.log_softmax
(input, axis=None, dtype=None, name=None)[源代码]
log_softmax激活层:
参数
- input (Variable) - 任意维度的多维
Tensor
,数据类型为float32或float64。axis (int, 可选) - 指示进行LogSoftmax计算的维度索引,其范围应为
,其中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
代码示例
import paddle.fluid as fluid
import numpy as np
data = np.array([[[-2.0, 3.0, -4.0, 5.0],
[3.0, -4.0, 5.0, -6.0],
[-7.0, -8.0, 8.0, 9.0]],
[[1.0, -2.0, -3.0, 4.0],
[-5.0, 6.0, 7.0, -8.0],
[6.0, 7.0, 8.0, 9.0]]]).astype('float32')
with fluid.dygraph.guard():
data = fluid.dygraph.to_variable(data)
res = fluid.layers.log_softmax(data, -1)
# [[[ -7.1278396 -2.1278396 -9.127839 -0.12783948]
# [ -2.1270514 -9.127051 -0.12705144 -11.127051 ]
# [-16.313261 -17.313261 -1.3132617 -0.31326184]]
# [[ -3.0518122 -6.051812 -7.051812 -0.051812 ]
# [-12.313267 -1.3132664 -0.3132665 -15.313267 ]
# [ -3.4401896 -2.4401896 -1.4401896 -0.44018966]]]