mindspore.ops.xlogy

mindspore.ops.xlogy(input, other)[源代码]

计算第一个输入Tensor乘以第二个输入Tensor的对数。当 input 为零时,则返回零。

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

inputother 的输入遵循隐式类型转换规则,使数据类型一致。输入必须是两个Tensor或一个Tensor和一个Scalar。当输入是两个Tensor时,它们的shape可以广播。当输入是一个Tensor和一个Scalar时,Scalar只能是一个常量。

警告

  • 在Ascend上, inputother 必须为float16或float32。

参数:
  • input (Union[Tensor, numbers.Number, bool]) - 第一个输入为数值型。数据类型为 numberbool_

  • other (Union[Tensor, numbers.Number, bool]) - 第二个输入为数值型。当第一个输入是Tensor或数据类型为数值型或bool的Tensor时,则第二个输入是数值型或bool。当第一个输入是Scalar时,则第二个输入必须是数据类型为数值型或bool的Tensor。

返回:

Tensor,shape与广播后的shape相同,数据类型为两个输入中精度较高或数值较高的类型。

异常:
  • TypeError - 如果 inputother 不是数值型、bool或Tensor。

  • TypeError - 如果 inputother 的数据类型不是float16、float32、float64、complex64或complex128。

  • ValueError - 如果 input 不能广播到与 other 的shape一致。

支持平台:

Ascend GPU CPU

样例:

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