mindspore.mint.xlogy

View Source On AtomGit
mindspore.mint.xlogy(input, other) Tensor[source]

Computes the first input multiplied by the logarithm of the second input element-wise. Returns zero when input is zero.

\[out_i = input_{i}\log{other_{i}}\]

Inputs of input and other comply with the implicit type conversion rules to make the data types consistent. The inputs must be two tensors or one tensor and one scalar. When the inputs are two tensors, the shapes of them could be broadcast.

Parameters:
  • input (Union[Tensor, numbers.Number, bool]) – The first input is a numbers.Number, a bool, or a tensor whose data type is number or bool.

  • other (Union[Tensor, numbers.Number, bool]) – The second input is a numbers.Number, a bool, or a tensor whose data type is number or bool when the first input is a tensor. When the first input is Scalar, the second input must be a Tensor whose data type is number or bool.

Returns:

Tensor. The shape is the same as the one after broadcasting, and the data type is the one with higher precision among the two inputs.

Raises:
  • TypeError – If input and other are not numbers.Number, bool or Tensor.

  • ValueError – If input could not be broadcast to a tensor with shape of other.

Supported Platforms:

Ascend

Examples

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, mint
>>> input = Tensor(np.array([-5, 0, 4]), mindspore.float32)
>>> other = Tensor(np.array([2, 2, 2]), mindspore.float32)
>>> output = mint.xlogy(input, other)
>>> print(output)
[-3.465736   0.        2.7725887]