mindspore.ops.logit

mindspore.ops.logit(x, eps=None)[源代码]

逐元素计算Tensor的logit值。当 eps 不是 None 时, x 中的元素被截断到范围[eps, 1-eps]内。 当 eps 为 None 时,输入 x 不进行数值截断。

\[\begin{split}\begin{align} y_{i} & = \ln(\frac{z_{i}}{1 - z_{i}}) \\ z_{i} & = \begin{cases} x_{i} & \text{if eps is None} \\ \text{eps} & \text{if } x_{i} \lt \text{eps} \\ x_{i} & \text{if } \text{eps} \leq x_{i} \leq 1 - \text{eps} \\ 1 - \text{eps} & \text{if } x_{i} \gt 1 - \text{eps} \end{cases} \end{align}\end{split}\]
参数:
  • x (Tensor) - Tensor输入。

  • eps (float, 可选) - epsilon值。输入的数值界限被定义[eps, 1-eps]。默认值:None。

返回:

Tensor,具有与 x 相同的shape。

异常:
  • TypeError - eps 不是float类型。

  • TypeError - x 不是Tensor类型。

  • TypeError - x 的数据类型不是float16、float32或float64。

支持平台:

GPU CPU

样例:

>>> x = Tensor(np.array([0.1, 0.2, 0.3]).astype(np.float32))
>>> output = ops.logit(x, eps=1e-5)
>>> print(output)
[-2.1972246 -1.3862944 -0.8472978]