mindspore.ops.xlogy
- mindspore.ops.xlogy(x, y)[源代码]
计算第一个输入Tensor乘以第二个输入Tensor的对数。当 x 为零时,则返回零。
\[out_i = x_{i}\ln{y_{i}}\]x 和 y 的输入遵循隐式类型转换规则,使数据类型一致。输入必须是两个Tensor或一个Tensor和一个Scalar。当输入是两个Tensor时,它们的数据类型不能同时是bool的,它们的shape可以广播。当输入是一个Tensor和一个Scalar时,Scalar只能是一个常量。
Warning
在Ascend上, x 和 y 必须为float16或float32。
参数:
x (Union[Tensor, number.Number, bool]) - 第一个输入为数值型。数据类型为 number 或 bool_ 。
y (Union[Tensor, number.Number, bool]) - 第二个输入为数值型。当第一个输入是Tensor或数据类型为数值型或bool的Tensor时, 则第二个输入是数值型或bool。当第一个输入是Scalar时,则第二个输入必须是数据类型为数值型或bool的Tensor。
返回:
Tensor,shape与广播后的shape相同,数据类型为两个输入中精度较高或数数值较高的类型。
异常:
TypeError - 如果 x 和 y 不是数值型、bool或Tensor。
TypeError - 如果 x 和 y 的数据类型不是float16、float32、float64、complex64或complex128。
ValueError - 如果 x 不能广播到与 y 的shape一致。
- 支持平台:
Ascend
CPU
样例:
>>> x = Tensor(np.array([-5, 0, 4]), mindspore.float32) >>> y = Tensor(np.array([2, 2, 2]), mindspore.float32) >>> output = ops.xlogy(x, y) >>> print(output) [-3.465736 0. 2.7725887]