mindspore.ops.logit

mindspore.ops.logit(x, eps=None)[source]

Calculate the logit of a tensor element-wise. When eps is not None, element in x is clamped to [eps, 1-eps]. When eps is None, input x is not clamped.

\[\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}\]
Parameters
  • x (Tensor) – The input tensor.

  • eps (float, optional) – The epsilon. The input clamp bound is defined as [eps, 1-eps]. Default: None.

Returns

Tensor, with the same shape and dtype as the x.

Raises
  • TypeError – If eps is not a float.

  • TypeError – If x is not a Tensor.

  • TypeError – If dtype of x is not float16, float32 or float64.

Supported Platforms:

GPU CPU

Examples

>>> 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]