scipy.special.
log_softmax#
- scipy.special.log_softmax(x, axis=None)[源代码][源代码]#
计算 softmax 函数的对数。
原则上:
log_softmax(x) = log(softmax(x))
但使用了一个更准确的实现。
- 参数:
- xarray_like
输入数组。
- 轴int 或 int 的元组,可选
要计算值的轴。默认值为 None,将在整个数组 x 上计算 softmax。
- 返回:
- sndarray 或标量
与 x 形状相同的数组。结果的指数将在指定轴上求和为 1。如果 x 是标量,则返回标量。
注释
log_softmax
在输入使得softmax
饱和时比np.log(softmax(x))
更精确(见下文示例)。Added in version 1.5.0.
示例
>>> import numpy as np >>> from scipy.special import log_softmax >>> from scipy.special import softmax >>> np.set_printoptions(precision=5)
>>> x = np.array([1000.0, 1.0])
>>> y = log_softmax(x) >>> y array([ 0., -999.])
>>> with np.errstate(divide='ignore'): ... y = np.log(softmax(x)) ... >>> y array([ 0., -inf])